iliazeus / iso2god-rs

A command-line tool to convert Xbox 360 ISOs into a Games-On-Demand file format. For Linux, Windows and MacOS.
MIT License
77 stars 6 forks source link

Feat.req. Full ISO rebuild option #2

Open necros2k7 opened 1 year ago

necros2k7 commented 1 year ago

@iliazeus subj

iliazeus commented 1 year ago

Can you please tell me a bit more about what a "full ISO rebuild" is? I'm not a real xbox 360 hacker :)

iso2god-rs is mostly a rewrite of https://github.com/eliecharra/iso2god-cli; with a couple of features tacked on. So if a "full ISO rebuild" is not possible with https://github.com/eliecharra/iso2god-cli (this version specifically, not the original Windows one), then it is not currently possible with iso2god-rs either.

iliazeus commented 1 year ago

I think i got it. You mean the "backwards", GOD -> ISO conversion, right? If so, it is not currently possible, but a valid feature request. I will try to add this feature when I have the time.

professor-jonny commented 1 year ago

What he is wanting to do is repack a GOD image (binary strip data) For purposes of stripping $systemupdate and other junk. GOD > ISO>FS>ISO>GOD

necros2k7 commented 1 year ago

Full rebuild - removing all empty sectors

thomasbra1 commented 1 year ago

The code is there from the decompile of the original windows version but wasn't exposed in the cli version. This is very useful feature as full xbox 360 iso are all 7 to 8 GB in size but can be much smaller once the padding is removed.

Selection_041

thomasbra1 commented 1 year ago

Until this may be implemented the redump ISO can be processed with extract-iso to build an optimized xiso then processed with iso2god. An extra step but a way until iso2god can preform this step.

https://github.com/XboxDev/extract-xiso -r Rewrite xiso(s) as optimized xiso(s).

iliazeus commented 1 month ago

In the newest v1.5.0 version, I've added a --trim option to remove unused space from the end of the ISO.

It is not a "full rebuild", because it does not remove space between the files, only at the end. But I feel it should still good enough for most use cases.