Skip to content

Commit 54ef377

Browse files
author
Kazuki Suzuki Przyborowski
committed
Added support for file start offset
1 parent 3d9a90e commit 54ef377

File tree

3 files changed

+511
-1162
lines changed

3 files changed

+511
-1162
lines changed

archivefile.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
Copyright 2018-2024 Game Maker 2k - http://intdb.sourceforge.net/
1515
Copyright 2018-2024 Kazuki Przyborowski - https://github.com/KazukiPrzyborowski
1616
17-
$FileInfo: archivefile.py - Last Update: 8/26/2025 Ver. 0.21.4 RC 1 - Author: cooldude2k $
17+
$FileInfo: archivefile.py - Last Update: 8/29/2025 Ver. 0.22.0 RC 1 - Author: cooldude2k $
1818
'''
1919

2020
from __future__ import absolute_import, division, print_function, unicode_literals, generators, with_statement, nested_scopes
@@ -171,9 +171,9 @@ def handler(signum, frame):
171171
if active_action == 'create':
172172
if getargs.convert:
173173
checkcompressfile = pyarchivefile.CheckCompressionSubType(
174-
input_file, fnamedict, True)
174+
input_file, fnamedict, 0, True)
175175
if((pyarchivefile.IsNestedDict(fnamedict) and checkcompressfile in fnamedict) or (pyarchivefile.IsSingleDict(fnamedict) and checkcompressfile==fnamedict['format_magic'])):
176-
tmpout = pyarchivefile.RePackArchiveFile(input_file, getargs.output, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, False, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, getargs.verbose, False)
176+
tmpout = pyarchivefile.RePackArchiveFile(input_file, getargs.output, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, False, 0, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, getargs.verbose, False)
177177
else:
178178
tmpout = pyarchivefile.PackArchiveFileFromInFile(
179179
input_file, getargs.output, __file_format_default__, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], [], {}, fnamedict, getargs.verbose, False)
@@ -184,59 +184,59 @@ def handler(signum, frame):
184184
elif active_action == 'repack':
185185
if getargs.convert:
186186
checkcompressfile = pyarchivefile.CheckCompressionSubType(
187-
input_file, fnamedict, True)
187+
input_file, fnamedict, 0, True)
188188
if((pyarchivefile.IsNestedDict(fnamedict) and checkcompressfile in fnamedict) or (pyarchivefile.IsSingleDict(fnamedict) and checkcompressfile==fnamedict['format_magic'])):
189189
pyarchivefile.RePackArchiveFile(input_file, getargs.output, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt,
190-
False, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, getargs.verbose, False)
190+
False, 0, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, getargs.verbose, False)
191191
else:
192192
pyarchivefile.PackArchiveFileFromInFile(input_file, getargs.output, __file_format_default__, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], [], {}, fnamedict, getargs.verbose, False)
193193
if(not tmpout):
194194
sys.exit(1)
195195
else:
196196
pyarchivefile.RePackArchiveFile(input_file, getargs.output, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt,
197-
False, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, getargs.verbose, False)
197+
False, 0, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, getargs.verbose, False)
198198
elif active_action == 'extract':
199199
if getargs.convert:
200200
checkcompressfile = pyarchivefile.CheckCompressionSubType(
201-
input_file, fnamedict, True)
201+
input_file, fnamedict, 0, True)
202202
tempout = BytesIO()
203203
if((pyarchivefile.IsNestedDict(fnamedict) and checkcompressfile in fnamedict) or (pyarchivefile.IsSingleDict(fnamedict) and checkcompressfile==fnamedict['format_magic'])):
204-
tmpout = pyarchivefile.RePackArchiveFile(input_file, tempout, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, False, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, False, False)
204+
tmpout = pyarchivefile.RePackArchiveFile(input_file, tempout, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, False, 0, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, False, False)
205205
else:
206206
tmpout = pyarchivefile.PackArchiveFileFromInFile(
207207
input_file, tempout, __file_format_default__, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], [], {}, fnamedict, False, False)
208208
if(not tmpout):
209209
sys.exit(1)
210210
input_file = tempout
211-
pyarchivefile.UnPackArchiveFile(input_file, getargs.output, False, 0, 0, getargs.skipchecksum,
211+
pyarchivefile.UnPackArchiveFile(input_file, getargs.output, False, 0, 0, 0, getargs.skipchecksum,
212212
fnamedict, getargs.verbose, getargs.preserve, getargs.preserve, False, False)
213213
elif active_action == 'list':
214214
if getargs.convert:
215215
checkcompressfile = pyarchivefile.CheckCompressionSubType(
216-
input_file, fnamedict, True)
216+
input_file, fnamedict, 0, True)
217217
if((pyarchivefile.IsNestedDict(fnamedict) and checkcompressfile in fnamedict) or (pyarchivefile.IsSingleDict(fnamedict) and checkcompressfile==fnamedict['format_magic'])):
218-
tmpout = pyarchivefile.ArchiveFileListFiles(input_file, "auto", 0, 0, getargs.skipchecksum, fnamedict, False, getargs.verbose, False, False)
218+
tmpout = pyarchivefile.ArchiveFileListFiles(input_file, "auto", 0, 0, 0, getargs.skipchecksum, fnamedict, False, getargs.verbose, False, False)
219219
else:
220220
tmpout = pyarchivefile.InFileListFiles(input_file, getargs.verbose, fnamedict, False, False, False)
221221
if(not tmpout):
222222
sys.exit(1)
223223
else:
224-
pyarchivefile.ArchiveFileListFiles(input_file, "auto", 0, 0, getargs.skipchecksum, fnamedict, False, getargs.verbose, False, False)
224+
pyarchivefile.ArchiveFileListFiles(input_file, "auto", 0, 0, 0, getargs.skipchecksum, fnamedict, False, getargs.verbose, False, False)
225225
elif active_action == 'validate':
226226
if getargs.convert:
227227
checkcompressfile = pyarchivefile.CheckCompressionSubType(
228-
input_file, fnamedict, True)
228+
input_file, fnamedict, 0, True)
229229
tempout = BytesIO()
230230
if((pyarchivefile.IsNestedDict(fnamedict) and checkcompressfile in fnamedict) or (pyarchivefile.IsSingleDict(fnamedict) and checkcompressfile==fnamedict['format_magic'])):
231-
tmpout = pyarchivefile.RePackArchiveFile(input_file, tempout, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, False, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, False, False, False)
231+
tmpout = pyarchivefile.RePackArchiveFile(input_file, tempout, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, False, 0, 0, 0, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], getargs.skipchecksum, [], {}, fnamedict, False, False, False)
232232
else:
233233
tmpout = pyarchivefile.PackArchiveFileFromInFile(
234234
input_file, tempout, __file_format_default__, getargs.compression, getargs.wholefile, getargs.level, pyarchivefile.compressionlistalt, [getargs.checksum, getargs.checksum, getargs.checksum, getargs.checksum], [], {}, fnamedict, False, False)
235235
input_file = tempout
236236
if(not tmpout):
237237
sys.exit(1)
238238
fvalid = pyarchivefile.ArchiveFileValidate(
239-
input_file, "auto", fnamedict, False, getargs.verbose, False)
239+
input_file, "auto", 0, fnamedict, False, getargs.verbose, False)
240240
if(not getargs.verbose):
241241
import sys
242242
import logging

0 commit comments

Comments
 (0)