' DEHACK - Doom Exe HACK
' by Matt Fell (matt.burnett@acebbs.com)
' written 6/13/94
'
' DEHACK 4 - The SPRITE NAME LIST
'
' These crude programs extract information from the DOOM.EXE or DOOM.WAD
' files and store it into a TXT file, suitable for perusing or printing.
' If you want to print the results, you might have to reformat it. Please
' don't waste reams of paper. Thanks.
' All of these only work on the 1.2 registered doom.exe, because I use
' simple byte offset numbers, not search strings.
'
' IMPORTANT: If you don't like typing pathnames, modify the next section,
' un-comment it, and remove or comment-out the input section.

' infile$ = "c:\doom\doom.exe"
' outfile$ = "c:\-\doom\12\dehack4.txt"

CLS
PRINT "Enter the full pathname to your DOOM.EXE file, then the full pathname"
PRINT "to where you want the textfile to be (in an already existing directory)"
PRINT "e.g. 'c:\doom\doom.exe' and 'c:\doom\txt\dehack4.txt'"
PRINT "Note: modify the program with built-in pathnames, and skip this!"
PRINT
INPUT infile$
INPUT outfile$

OPEN infile$ FOR BINARY AS 1
OPEN outfile$ FOR OUTPUT AS 2

DIM prefix AS STRING * 4

PRINT #2, "The 'Sprite Name List' contained in DOOM.EXE version 1.2 2-17-94"
PRINT #2, "List-maker program written by Matt Fell (matt.burnett@acebbs.com)"
PRINT #2, "=========================================================================="
PRINT #2, "At offset 555524 ($87a04) are 105 4-byte integers, which are offsets from"
PRINT #2, "the start of the data segment (455700 = $6f414) to the four-byte 'prefixes'"
PRINT #2, "for the sprite names to be found in DOOM.WAD"
PRINT #2, "The first column below is the sprite number, and the second column is the"
PRINT #2, "sprites name or prefix."
PRINT #2, "=========================================================================="

pointer& = 555525               ' this is for 1.2 doom

FOR i& = 0 TO 104
PRINT #2, USING "####"; i&;
PRINT #2, " ",
GET #1, pointer& + i& * 4, offset&
GET #1, 455701 + offset&, prefix$
PRINT #2, prefix$
NEXT i&

END

