mirror of
https://github.com/Virtual-World-RE/NeoGF.git
synced 2024-11-15 04:25:34 +01:00
Update gcmtest.py
This commit is contained in:
parent
d88341e0ec
commit
ab75f2e4f0
|
@ -7,7 +7,7 @@ from gcmtool import Gcm
|
||||||
from gcmtool import InvalidDVDMagicError, InvalidUnpackFolderError, InvalidPackIsoError, InvalidFSTSizeError, DolSizeOverflowError, InvalidRootFileFolderCountError, InvalidFSTFileSizeError, FSTDirNotFoundError, FSTFileNotFoundError, BadAlignError
|
from gcmtool import InvalidDVDMagicError, InvalidUnpackFolderError, InvalidPackIsoError, InvalidFSTSizeError, DolSizeOverflowError, InvalidRootFileFolderCountError, InvalidFSTFileSizeError, FSTDirNotFoundError, FSTFileNotFoundError, BadAlignError
|
||||||
|
|
||||||
|
|
||||||
__version__ = "0.0.8"
|
__version__ = "0.0.9"
|
||||||
__author__ = "rigodron, algoflash, GGLinnk"
|
__author__ = "rigodron, algoflash, GGLinnk"
|
||||||
__license__ = "MIT"
|
__license__ = "MIT"
|
||||||
__status__ = "developpement"
|
__status__ = "developpement"
|
||||||
|
@ -103,8 +103,8 @@ def compare_GCM(folder1: Path, folder2: Path):
|
||||||
def gcmtool_unpack(iso_path:Path, folder_path:Path):
|
def gcmtool_unpack(iso_path:Path, folder_path:Path):
|
||||||
if os.system(f"python gcmtool.py -u \"{iso_path}\" \"{folder_path}\"") != 0:
|
if os.system(f"python gcmtool.py -u \"{iso_path}\" \"{folder_path}\"") != 0:
|
||||||
raise Exception("Error while unpacking GCM.")
|
raise Exception("Error while unpacking GCM.")
|
||||||
def gcmtool_pack(folder_path:Path, iso_path:Path):
|
def gcmtool_pack(folder_path:Path, iso_path:Path, disable_ignore:bool = False):
|
||||||
if os.system(f"python gcmtool.py -p \"{folder_path}\" \"{iso_path}\"") != 0:
|
if os.system(f"python gcmtool.py -p {'-di' if disable_ignore else ''} \"{folder_path}\" \"{iso_path}\"") != 0:
|
||||||
raise Exception("Error while packing GCM.")
|
raise Exception("Error while packing GCM.")
|
||||||
def gcmtool_rebuild_fst(folder_path:Path):
|
def gcmtool_rebuild_fst(folder_path:Path):
|
||||||
if os.system(f"python gcmtool.py -r \"{folder_path}\"") != 0:
|
if os.system(f"python gcmtool.py -r \"{folder_path}\"") != 0:
|
||||||
|
@ -158,7 +158,7 @@ print("#########################################################################
|
||||||
repack_path.mkdir()
|
repack_path.mkdir()
|
||||||
unpack_paths = list(unpack_path.glob("*"))
|
unpack_paths = list(unpack_path.glob("*"))
|
||||||
for folder_path in unpack_paths:
|
for folder_path in unpack_paths:
|
||||||
gcmtool_pack(folder_path, repack_path / folder_path.name)
|
gcmtool_pack(folder_path, repack_path / folder_path.name, disable_ignore = folder_path.name == "Metroid Prime (USA).iso")
|
||||||
|
|
||||||
# unpack repack_path unpack2_path
|
# unpack repack_path unpack2_path
|
||||||
unpack2_path.mkdir()
|
unpack2_path.mkdir()
|
||||||
|
@ -187,7 +187,7 @@ for folder_path in unpack_paths:
|
||||||
# repack unpack_path repack_path
|
# repack unpack_path repack_path
|
||||||
repack_path.mkdir()
|
repack_path.mkdir()
|
||||||
for folder_path in unpack_paths:
|
for folder_path in unpack_paths:
|
||||||
gcmtool_pack(folder_path, repack_path / folder_path.name)
|
gcmtool_pack(folder_path, repack_path / folder_path.name, disable_ignore = folder_path.name == "Metroid Prime (USA).iso")
|
||||||
|
|
||||||
# unpack repack_path unpack2_path
|
# unpack repack_path unpack2_path
|
||||||
unpack2_path.mkdir()
|
unpack2_path.mkdir()
|
||||||
|
@ -294,12 +294,6 @@ except FSTFileNotFoundError:
|
||||||
print("Correct FSTFileNotFoundError triggered.")
|
print("Correct FSTFileNotFoundError triggered.")
|
||||||
new_file.rename(first_unpacked_file)
|
new_file.rename(first_unpacked_file)
|
||||||
|
|
||||||
try:
|
|
||||||
gcm.stats(first_unpacked, 0x800)
|
|
||||||
raise Exception("Error - BadAlignError should have been triggered.")
|
|
||||||
except BadAlignError:
|
|
||||||
print("Correct BadAlignError triggered.")
|
|
||||||
|
|
||||||
#| 0001ec00 | 0023f9a0 | 00220da0 | boot.dol
|
#| 0001ec00 | 0023f9a0 | 00220da0 | boot.dol
|
||||||
#| 0023fa00 | 00276058 | 00036658 | fst.bin
|
#| 0023fa00 | 00276058 | 00036658 | fst.bin
|
||||||
# dol size for overflowing on FST + 1: 0023fa00 - 0001ec00 = 220e00
|
# dol size for overflowing on FST + 1: 0023fa00 - 0001ec00 = 220e00
|
||||||
|
|
Loading…
Reference in New Issue
Block a user