Have .incbin take an optional offset and length for source bytes.

This commit is contained in:
Cat's Eye Technologies 2012-05-08 18:12:28 -05:00
parent 1df8ad465d
commit b843ba9ba9

View File

@ -38,11 +38,20 @@ def pragmaRequire(ppt, line, result):
def pragmaIncbin(ppt, line, result):
"Includes a binary file"
filename = line.expect("STRING").value
offset = 0
size = -1
if str(line.lookahead(0)) == ",":
line.pop()
offset = line.expect("NUM").value
if str(line.lookahead(0)) == ",":
line.pop()
size = line.expect("NUM").value
line.expect("EOL")
if type(filename)==str:
try:
f = file(filename, "rb")
bytes = f.read()
f.seek(offset)
bytes = f.read(size)
f.close()
except IOError:
Err.log ("Could not read "+filename)