diff --git a/src/Ophis/CorePragmas.py b/src/Ophis/CorePragmas.py index d5faea7..5876c16 100644 --- a/src/Ophis/CorePragmas.py +++ b/src/Ophis/CorePragmas.py @@ -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)