home *** CD-ROM | disk | FTP | other *** search
/ Doom I/II Collection / DM12.ISO / mixed / lmpvol2 / lmp.bat < prev    next >
DOS Batch File  |  1994-03-19  |  14KB  |  518 lines

  1. @ECHO OFF
  2. ECHO.
  3. ECHO ALFRED, The Automatic LMP File Recorder and Developer v1.2
  4.  
  5. REM **************************************************************
  6. REM **      The DOOM Hall of Fame: The Collectors Edition       **
  7. REM **         Automatic LMP File Recorder and Developer        **
  8. REM **  by Michael Houston (mp_hous@pavo.concordia.ca) 03/03/94 **
  9. REM **************************************************************
  10.  
  11. REM ** SET WADPATH TO BE THE DIRECTORY CONTAINING YOUR WADFILES **
  12. SET WADPATH=LMP\PWAD
  13. SET E=
  14. SET L=
  15. SET S=
  16. SET A1=
  17. SET A2=
  18. SET A3=
  19.  
  20. IF NOT EXIST DOOM.EXE GOTO DirErr
  21. IF "%1" == "LIST" GOTO showlist
  22. IF "%1" == "list" GOTO showlist
  23. IF "%1" == "" GOTO saidnada
  24. IF "%1" == "r" GOTO record
  25. IF "%1" == "R" GOTO record
  26. IF "%1" == "w" GOTO edit
  27. IF "%1" == "W" GOTO edit
  28. IF "%1" == "t" GOTO Tedit
  29. IF "%1" == "T" GOTO Tedit
  30. IF "%1" == "p" GOTO Play
  31. IF "%1" == "P" GOTO Play
  32.  
  33. :pwadcheck
  34. IF NOT EXIST lmp\pwad\%1.lmp GOTO Nextstep
  35. IF "%A2%" == "text" SET A1=pwad
  36. IF "%A2%" == "text" GOTO Tedit3
  37. copy lmp\pwad\%1.lmp . > nul
  38. IF NOT EXIST lmp\pwad\%1.txt GOTO wadfile
  39. type lmp\pwad\%1.txt |more
  40. PAUSE
  41. GOTO wadfile
  42.  
  43. REM ***** CHECK ALL DIRECTORIES ****
  44. :Nextstep
  45. IF NOT "%a2%" == "text" IF NOT "%2" == "" GOTO randoom
  46. IF NOT EXIST lmp\levels\%1.lmp GOTO CheckHall
  47. IF "%A2%" == "text" SET A1=levels
  48. IF "%A2%" == "text" GOTO Tedit3
  49. copy lmp\levels\%1.lmp . > nul
  50. IF NOT EXIST lmp\levels\%1.txt GOTO Later
  51. type lmp\levels\%1.txt |more
  52. PAUSE
  53. GOTO Later
  54.  
  55. :CheckHall
  56. IF NOT EXIST lmp\hall\%1.lmp GOTO CheckMult
  57. IF "%A2%" == "text" SET A1=hall
  58. IF "%A2%" == "text" GOTO Tedit3
  59. copy lmp\hall\%1.lmp . > nul
  60. IF NOT EXIST lmp\hall\%1.txt GOTO Later
  61. type lmp\hall\%1.txt |more
  62. PAUSE
  63. GOTO Later
  64.  
  65. :CheckMult
  66. IF NOT EXIST lmp\multiplr\%1.lmp GOTO CheckMisc
  67. IF "%A2%" == "text" SET A1=multiplr
  68. IF "%A2%" == "text" GOTO Tedit3
  69. copy lmp\multiplr\%1.lmp . > nul
  70. IF NOT EXIST lmp\multiplr\%1.txt GOTO Later
  71. type lmp\multiplr\%1.txt |more
  72. PAUSE
  73. GOTO Later
  74.  
  75. :CheckMisc
  76. IF NOT EXIST lmp\misc\%1.lmp GOTO CheckNite
  77. IF "%A2%" == "text" SET A1=misc
  78. IF "%A2%" == "text" GOTO Tedit3
  79. copy lmp\misc\%1.lmp . > nul
  80. IF NOT EXIST lmp\misc\%1.txt GOTO Later
  81. type lmp\misc\%1.txt |more
  82. PAUSE
  83. GOTO Later
  84.  
  85. :CheckNite
  86. IF NOT EXIST lmp\nitemare\%1.lmp GOTO randoom
  87. IF "%A2%" == "text" SET A1=nitemare
  88. IF "%A2%" == "text" GOTO Tedit3
  89. copy lmp\nitemare\%1.lmp . > nul
  90. IF NOT EXIST lmp\nitemare\%1.txt GOTO Later
  91. type lmp\nitemare\%1.txt |more
  92. PAUSE
  93. GOTO Later
  94.  
  95. REM ***** PLAY A RANDOOM FILE *****
  96. :randoom
  97. IF "%A2%" == "text" IF NOT EXIST lmp\randoom\%1.lmp GOTO Tedit2
  98. IF "%A2%" == "text" SET A1=randoom
  99. IF "%A2%" == "text" GOTO Tedit3
  100. IF NOT EXIST lmp\randoom\%1.lmp GOTO NotFound
  101. copy lmp\randoom\%1.lmp . > nul
  102. IF NOT EXIST lmp\randoom\%1.txt GOTO notext
  103. type lmp\randoom\%1.txt |more
  104. PAUSE
  105. IF NOT EXIST lmp\randoom\%1.w GOTO noW1
  106. IF "%2" == "" GOTO NoSeed
  107. SET A3=randoomb
  108. GOTO ranepi
  109.  
  110. :randoomb
  111. LMP\RANDOOM\RANDOOM -D
  112. ECHO.
  113. IF "%E%" == "4" LMP\RANDOOM\RANDOOM -C%2 -M3 -Wlmp\randoom\%1.w
  114. IF NOT "%E%" == "4" LMP\RANDOOM\RANDOOM -C%2 -M3 -Wlmp\randoom\%1.w -Le%E%M%L%
  115. ECHO.
  116. doom -playdemo %1
  117. del %1.lmp
  118. LMP\RANDOOM\RANDOOM -D
  119. ECHO.
  120. GOTO end
  121.  
  122. :notext
  123. ECHO.
  124. ECHO ERROR: NO ACCOMPANYING TEXT FILE FOR RANDOOM .LMP
  125. ECHO.
  126. ECHO You must create a text file for the RanDOOM .LMP you specified, since you
  127. ECHO need a record of the seed, episode and level you have used to create the
  128. ECHO RanDOOM file. Create this text file by typing:   LMP t %1
  129. ECHO.
  130. del %1.lmp
  131. GOTO end.
  132.  
  133. REM ***** DISPLAY ALL .LMP FILES IN THE .LMP DIRECTORIES *****
  134. :showlist
  135. ECHO.
  136. dir lmp\*.lmp /s /p
  137. GOTO end
  138.  
  139. :NotFound
  140. ECHO. 
  141. ECHO ERROR: .LMP FILE NOT FOUND
  142. ECHO.
  143. ECHO Sorry, I could not find the file %1.lmp in the following directories:
  144. ECHO LMP\HALL, LMP\LEVELS, LMP\MISC, LMP\MULTIPLR, LMP\NITEMARE, LMP\PWAD or 
  145. ECHO LMP\RANDOOM. In order to use this batch file your .LMP must be in one 
  146. ECHO of these directories.
  147. GOTO saidnada
  148.  
  149. REM ***** HELP SCREEN *****
  150. :saidnada
  151. ECHO.
  152. ECHO Proper usage:          LMP [rwtp] lmpfile [seed, pwadfile]
  153. ECHO No extensions (.lmp, .w, .txt, .wad) required.
  154. ECHO.
  155. ECHO            LMP LIST     Gives directory of the .LMPs available.
  156. ECHO            lmpfile      Either .LMP, .W or .TXT file format.
  157. ECHO            seed         Character seed for RanDOOM files.
  158. ECHO            pwadfile     .WAD pwad file for pwad .LMPs
  159. ECHO Options:   r            Record an .LMP file.
  160. ECHO            w            Create/edit RanDOOM .W file.
  161. ECHO            t            Create/edit .LMP intro .TXT file.
  162. ECHO            p            Play (not record) DOOM with a RanDOOM .W file.
  163. GOTO end
  164.  
  165. :DirErr
  166. ECHO.
  167. ECHO ERROR: LMP.BAT NOT RUN FROM DOOM DIRECTORY
  168. ECHO.
  169. ECHO In order to run this program you must be in your DOOM directory.
  170. GOTO end
  171.  
  172. :NoSeed
  173. ECHO.
  174. ECHO ERROR: NO SEED SPECIFIED
  175. ECHO.
  176. ECHO You must specify the proper seed in order for this RanDOOM .LMP
  177. ECHO to work. To see what seed it is, check the text file %1.txt which
  178. ECHO was displayed above.
  179. GOTO saidnada
  180.  
  181. REM ***** PLAY THE LMP FILE *****
  182. :Later
  183. doom -playdemo %1
  184. del %1.lmp
  185. ECHO.
  186. ECHO lmp.bat execution completed.
  187. ECHO.
  188. GOTO end
  189.  
  190. REM *****                         *****
  191. REM *****   RECORD AN .LMP FILE   *****
  192. REM *****                         *****
  193.  
  194. :record
  195. IF "%2" == "" GOTO NoRec
  196. IF "%3" == "" GOTO recrd2
  197. IF EXIST %WADPATH%\%3.wad SET A1=pwad
  198. IF EXIST %WADPATH%\%3.wad GOTO Check
  199. ECHO.
  200. ECHO There was no pwad file named %3.wad in the %WADPATH% directory, 
  201. ECHO so I'm assuming that '%3' is a random seed for a RanDOOM .LMP, O.K.?
  202. CHOICE /C:YN
  203. IF ERRORLEVEL 2 GOTO END
  204. SET A1=randoom
  205. GOTO Check
  206.  
  207. :recrd2
  208. ECHO.
  209. ECHO Please choose what category you want %2.lmp to be recorded, so I know
  210. ECHO what directory to put it in. NOTE: If you want to record a RANDOOM .LMP,
  211. ECHO include a random seed as your third parameter.
  212.  
  213. :recrd2B
  214. ECHO.
  215. ECHO 1) LEVELS                         2) HALL OF FAME
  216. ECHO 3) MULTIPLAYER                    4) MISCELLANEOUS
  217. IF "%A2%"=="text" ECHO 5) NIGHTMARE                      6) RANDOOM
  218. IF "%A2%"=="text" ECHO 7) PWAD                           8) QUIT
  219. IF NOT "%A2%"=="text" ECHO 5) NIGHTMARE                      Q) QUIT
  220. CHOICE /C:1234567Q /n
  221. IF ERRORLEVEL 8 GOTO end
  222. IF ERRORLEVEL 1 SET A1=levels
  223. IF ERRORLEVEL 2 SET A1=hall
  224. IF ERRORLEVEL 3 SET A1=multiplr
  225. IF ERRORLEVEL 4 SET A1=misc
  226. IF ERRORLEVEL 5 SET A1=nitemare
  227. IF "%A2%"=="text" IF ERRORLEVEL 6 SET A1=randoom
  228. IF "%A2%"=="text" IF ERRORLEVEL 7 SET A1=pwad
  229. IF NOT "%A2%"=="text" IF ERRORLEVEL 6 GOTO recrd2B
  230. IF NOT "%A2%"=="text" IF ERRORLEVEL 7 GOTO recrd2B
  231.  
  232. REM ***** CHECK IF FILE EXISTS *****
  233. :Check
  234. IF "%A2%"=="text" GOTO Tedit3
  235. IF NOT EXIST lmp\%A1%\%2.LMP GOTO EPISODE
  236. ECHO.
  237. ECHO WARNING: lmp\%A1%\%2.lmp already exists. Overwrite? (Y/N)
  238. CHOICE /C:YN /n
  239. IF ERRORLEVEL 2 GOTO END
  240. IF ERRORLEVEL 1 GOTO EPISODE
  241.  
  242. :NoRec
  243. ECHO.
  244. ECHO ERROR: NO .LMP FILE SPECIFIED
  245. ECHO.
  246. ECHO You must include the name of the .LMP file you wish to record.
  247. GOTO saidnada
  248.  
  249. :EPISODE
  250. ECHO.
  251. ECHO Enter Episode:
  252. ECHO.
  253. ECHO 1) Knee Deep in the Dead          2) The Shores of Hell
  254. ECHO 3) Inferno                        Q) Quit
  255. CHOICE /C:123Q /n
  256. IF ERRORLEVEL 4 GOTO end
  257. IF ERRORLEVEL 1 SET E=1
  258. IF ERRORLEVEL 2 SET E=2
  259. IF ERRORLEVEL 3 SET E=3
  260.  
  261. :LEVEL
  262. ECHO.
  263. ECHO Enter Level (1-9) or (Q)uit:
  264. CHOICE /C:123456789Q /n
  265. IF ERRORLEVEL 10 GOTO end
  266. IF ERRORLEVEL 1 SET L=1
  267. IF ERRORLEVEL 2 SET L=2
  268. IF ERRORLEVEL 3 SET L=3
  269. IF ERRORLEVEL 4 SET L=4
  270. IF ERRORLEVEL 5 SET L=5
  271. IF ERRORLEVEL 6 SET L=6
  272. IF ERRORLEVEL 7 SET L=7
  273. IF ERRORLEVEL 8 SET L=8
  274. IF ERRORLEVEL 9 SET L=9
  275.  
  276. :SKILL
  277. IF "%A1%"=="nitemare" SET S=5
  278. IF "%A1%"=="nitemare" GOTO REC2
  279. ECHO.
  280. ECHO Enter Skill:
  281. ECHO.
  282. ECHO 1) I'm too young to die           2) Hey, not too rough
  283. ECHO 3) Hurt me plenty                 4) Ultra Violence
  284. ECHO 5) NIGHTMARE!                     Q) Quit
  285. CHOICE /C:12345Q /n
  286. IF ERRORLEVEL 6 GOTO end
  287. IF ERRORLEVEL 1 SET S=1
  288. IF ERRORLEVEL 2 SET S=2
  289. IF ERRORLEVEL 3 SET S=3
  290. IF ERRORLEVEL 4 SET S=4
  291. IF ERRORLEVEL 5 SET S=5
  292.  
  293. REM ***** ACTUAL RECORDING OF THE .LMP FILE *****
  294. :REC2
  295. IF "%A1%" == "randoom" GOTO rand2
  296. IF "%A1%" == "pwad" GOTO recwad
  297. doom -devparm -warp %e% %l% -skill %s% -record %2
  298. copy %2.lmp lmp\%A1% > nul
  299. del %2.lmp
  300. ECHO.
  301. ECHO lmp.bat execution completed. It has been put in the lmp\%A1%
  302. ECHO directory.
  303. ECHO.
  304. GOTO end
  305.  
  306. REM ***** RECORDING OF A RANDOOM .LMP FILE *****
  307. :rand2
  308. IF "%3" == "" GOTO NoRecSeed
  309. IF NOT EXIST lmp\randoom\%2.w GOTO noW2
  310. ECHO.
  311. ECHO Do you want RanDOOM to: 
  312. ECHO                           1) change ALL the levels
  313. ECHO                           2) change only the level to be recorded
  314. ECHO                           Q) Quit
  315. ECHO.
  316. ECHO NOTE: (1) and (2) will give different randoom setups for the same 
  317. ECHO       level, even if the same seed is used.
  318. ECHO.
  319. CHOICE /C:12Q /n Please select (1, 2 or Q): 
  320. IF ERRORLEVEL 3 GOTO end
  321. IF ERRORLEVEL 1 SET A3=1
  322. IF ERRORLEVEL 2 SET A3=2
  323. ECHO.
  324. LMP\RANDOOM\RANDOOM -D
  325. ECHO.
  326. IF "%A3%" == "1" LMP\RANDOOM\RANDOOM -C%3 -M3 -Wlmp\randoom\%2.w
  327. IF "%A3%" == "2" LMP\RANDOOM\RANDOOM -C%3 -M3 -Wlmp\randoom\%2.w -Le%e%M%L%
  328. ECHO.
  329. doom -devparm -warp %e% %l% -skill %s% -record %2
  330. copy %2.lmp lmp\%A1% > nul
  331. del %2.lmp
  332. LMP\RANDOOM\RANDOOM -D
  333. ECHO.
  334. ECHO.
  335. ECHO Remember: You played Episode %e%, Level %l%, with randoom seed '%3'.
  336. ECHO Would you like to create an introductory text file to store this
  337. ECHO information? (Y/N): 
  338. CHOICE /C:YN /n
  339. IF ERRORLEVEL 2 GOTO end
  340. IF NOT EXIST lmp\randoom\%2.txt copy lmp\template.txt lmp\randoom\%2.txt > nul
  341. edit lmp\randoom\%2.txt
  342. GOTO end
  343.  
  344. :NoRecSeed
  345. ECHO.
  346. ECHO ERROR: NO RANDOOM SEED SPECIFIED
  347. ECHO.
  348. ECHO You MUST include a character seed in order to record a RanDOOM lmp,
  349. ECHO otherwise you will not be able to re-load the same items when viewing
  350. ECHO it. 
  351. GOTO saidnada
  352.  
  353. :noW1
  354. ECHO.
  355. ECHO ERROR: RANDOOM .W WEIGHT FILE NOT FOUND
  356. ECHO.
  357. ECHO I was unable to find the file %1.w in the LMP\RANDOOM directory.
  358. ECHO In order for you to run a RanDOOM .LMP file, you must have created
  359. ECHO this file.
  360. del %1.lmp
  361. GOTO saidnada
  362.  
  363. :noW2
  364. ECHO.
  365. ECHO ERROR: RANDOOM .W WEIGHT FILE NOT FOUND
  366. ECHO.
  367. ECHO I was unable to find the file %2.w in the LMP\RANDOOM directory.
  368. ECHO In order for you to record a RanDOOM .LMP file, you must have 
  369. ECHO 1) LMP\RANDOOM\%2.w, the RanDOOM weight file. 
  370. ECHO 2) The character seed.
  371. GOTO saidnada
  372.  
  373. REM ***** EDITING OF A RANDOOM .W WEIGHT FILE *****
  374. :edit
  375. IF "%2" == "" GOTO noedit
  376. IF NOT EXIST lmp\randoom\%2.w copy lmp\template.w lmp\randoom\%2.w > nul
  377. edit lmp\randoom\%2.w
  378. GOTO end
  379.  
  380. :Noedit
  381. ECHO.
  382. ECHO ERROR: NO .W FILE SPECIFIED
  383. ECHO.
  384. ECHO You must include the name of the .w file you wish to edit.
  385. GOTO saidnada
  386.  
  387. REM ***** EDITING OF A .LMP INTRODUCTORY TEXT FILE *****
  388. :Tedit
  389. IF "%2" == "" GOTO noedtxt
  390. ECHO.
  391. SET A2=text
  392. SHIFT
  393. GOTO Pwadcheck
  394.  
  395. :Tedit2
  396. ECHO.
  397. ECHO WARNING: There is no accompanying .LMP file for %1.txt. Continue? (Y/N)
  398. CHOICE /C:YN /n
  399. IF ERRORLEVEL 2 GOTO END
  400. IF ERRORLEVEL 1 GOTO recrd2B
  401.  
  402. :Tedit3
  403. IF NOT EXIST lmp\%A1%\%1.txt copy lmp\template.txt lmp\%A1%\%1.txt > nul
  404. edit lmp\%A1%\%1.txt
  405. GOTO end
  406.  
  407. :noedtxt
  408. ECHO.
  409. ECHO ERROR: NO .TXT FILE SPECIFIED
  410. ECHO.
  411. ECHO You must include the name of the .TXT file you wish to edit.
  412. GOTO saidnada
  413.  
  414. REM ***** PLAY DOOM WITH A .W WEIGHT FILE *****
  415. :Play
  416. IF NOT EXIST lmp\randoom\%2.w GOTO NoPlay
  417. ECHO.
  418. ECHO Setting up DOOM to play with RanDOOM weight file %2.w,
  419. IF NOT "%3" == "" ECHO With character seed '%3'.
  420. IF "%3" == "" ECHO Without a character seed.
  421.  
  422. :ranepi
  423. ECHO.
  424. ECHO Enter Episode to change:
  425. ECHO.
  426. ECHO 1) Knee Deep in the Dead          2) The Shores of Hell
  427. ECHO 3) Inferno                        4) All Episodes
  428. ECHO Q) Quit
  429. CHOICE /C:1234Q /n
  430. IF ERRORLEVEL 5 GOTO end
  431. IF ERRORLEVEL 1 SET E=1
  432. IF ERRORLEVEL 2 SET E=2
  433. IF ERRORLEVEL 3 SET E=3
  434. IF ERRORLEVEL 4 SET E=4
  435. IF ERRORLEVEL 4 GOTO Play2
  436.  
  437. :ranlev
  438. ECHO.
  439. ECHO Enter Level (1-9) to change or (Q)uit:
  440. CHOICE /C:123456789Q /n
  441. IF ERRORLEVEL 10 GOTO end
  442. IF ERRORLEVEL 1 SET L=1
  443. IF ERRORLEVEL 2 SET L=2
  444. IF ERRORLEVEL 3 SET L=3
  445. IF ERRORLEVEL 4 SET L=4
  446. IF ERRORLEVEL 5 SET L=5
  447. IF ERRORLEVEL 6 SET L=6
  448. IF ERRORLEVEL 7 SET L=7
  449. IF ERRORLEVEL 8 SET L=8
  450. IF ERRORLEVEL 9 SET L=9
  451.  
  452. :Play2
  453. IF "%A3%" == "randoomb" GOTO randoomb
  454. LMP\RANDOOM\RANDOOM -D
  455. ECHO.
  456. IF NOT "%E%" == "4" IF NOT "%3" == "" LMP\RANDOOM\RANDOOM -C%3 -M3 -Wlmp\randoom\%2.w -Le%e%M%L%
  457. IF NOT "%E%" == "4" IF "%3" == "" LMP\RANDOOM\RANDOOM -M3 -Wlmp\randoom\%2.w -Le%e%M%L%
  458. IF "%E%" == "4" IF NOT "%3" == "" LMP\RANDOOM\RANDOOM -C%3 -M3 -Wlmp\randoom\%2.w 
  459. IF "%E%" == "4" IF "%3" == "" LMP\RANDOOM\RANDOOM -M3 -Wlmp\randoom\%2.w
  460. ECHO.
  461. IF "%E%" == "4" doom
  462. IF NOT "%E%" == "4" doom -devparm -warp %e% %l% 
  463. LMP\RANDOOM\RANDOOM -D
  464. ECHO.
  465. GOTO end
  466.  
  467. :NoPlay
  468. ECHO.
  469. ECHO ERROR: NO .W FILE SPECIFIED
  470. ECHO.
  471. ECHO You must include the name of the .w file you wish to play.
  472. GOTO saidnada
  473.  
  474. REM ***** PLAY FROM A PWAD FILE *****
  475. :wadfile
  476. SET WADNAME=%2
  477. IF "%2" == "" SET WADNAME=%1
  478. IF NOT EXIST %WADPATH%\%WADNAME%.wad GOTO PWNotFound
  479. doom -playdemo %1 -file %WADPATH%\%WADNAME%.wad 
  480. del %1.lmp
  481. GOTO end
  482.  
  483. :PWNotFound
  484. ECHO. 
  485. ECHO ERROR: PWAD FILE NOT FOUND
  486. ECHO.
  487. ECHO Sorry, I could not find the file %2.wad in the %WADFILE% Directory.
  488. ECHO In order to play a PWAD .LMP you must have %1.lmp in the LMP\PWAD
  489. ECHO directory and %2.wad in the %WADFILE% directory.
  490. GOTO saidnada
  491.  
  492. REM ***** RECORD A WAD .LMP *****
  493. :recwad
  494. doom -devparm -file  %WADPATH%\%3.wad -warp %e% %l% -skill %s% -record %2
  495. copy %2.lmp lmp\pwad > nul
  496. del %2.lmp
  497. ECHO.
  498. ECHO Remember: You played Episode %e%, Level %l%, with Pwad %3.wad.
  499. ECHO Would you like to create an introductory text file to store this
  500. ECHO information? (Y/N): 
  501. CHOICE /C:YN /n
  502. IF ERRORLEVEL 2 GOTO end
  503. IF NOT EXIST lmp\pwad\%2.txt copy lmp\template.txt lmp\pwad\%2.txt > nul
  504. edit lmp\pwad\%2.txt
  505. GOTO end
  506.  
  507. REM ***** CLEAR VARIABLES AND END *****
  508. :end
  509. ECHO.
  510. SET E=
  511. SET L=
  512. SET S=
  513. SET A1=
  514. SET A2=
  515. SET A3=
  516. SET WADPATH=
  517. SET WADNAME=
  518.