bsv798 / gcrebuilder

MIT License
13 stars 7 forks source link

Command line issue #1

Open flossy83 opened 3 years ago

flossy83 commented 3 years ago

Hello,

Sorry for spamming you with this, but I don't know if you check your email address in the readme.

I am trying to use GCR to command line extract SystemData\start.dol from the game Starfox Adventures.

However it gives me this error at Windows command line:

System.NullReferenceException: Object reference not set to an instance of an object.
   at GCRebuilder.MainForm.Export(String expPath)
   at GCRebuilder.Program.Main(String[] args)

Commands tried so far:

gcr "C:\starfox\game.iso" "&&SystemData\start.dol" "e" "C:\starfox"
gcr "C:\starfox\game.iso" "SystemData\start.dol" "e" "C:\starfox"
gcr C:\starfox\game.iso &&SystemData\start.dol e C:\starfox
gcr "C:\starfox\game.iso" "SystemData\start.dol" "e" "C:\starfox\start.dol"
gcr "C:\starfox\game.iso" "root\SystemData\start.dol" "e" "C:\starfox"
gcr "C:\starfox\game.iso" "\SystemData\start.dol" "e" "C:\starfox"

Looking at the source code, the issue may be in here somewhere:

public void Export(string expPath)
{
    expImpPath = expPath;
    expImpIdx = Convert.ToInt32(selNode.Name);      // is selNode.Name null?
    if (toc.fils[expImpIdx].isDir)                  // is toc.fils null?
        ExportDir();
    else
        Export(expImpIdx, expPath);
}

Starfox and some other GCN games have a unique deflicker vfilter which ruins the graphics a bit. We can patch them in start.dol, and I'm trying to write a tool that automates this patching and then repacking back into the ISO using GCR's command line.

GCR is the only tool that can re-insert files without having to rebuild the entire ISO which saves a lot of time.

Thanks

lucasdresch commented 10 months ago

Hi man, Did you manage to solve the problem? I was interested in finding out more about RomHacks and would like help learning how to use the program as I don't know very well how to research or how to avoid graphical problems like you mentioned above. I would like help from a mentor. Could you answer my questions privately? Regarding your question above, are you trying to extract the .dol file from this file? Wouldn't it be more correct to extract everything from the ISO file, since that start.dol file "doesn't exist yet" where you are extracting it?

flossy83 commented 9 months ago

Sorry, I never managed to get the GCR command line working.

GCR's GUI can extract start.dol and then re-insert it back into ISO without rebuilding the whole ISO. Whereas other tools like Wii Backup Fusion and Wiimms WIT must rebuild the entire ISO.

In the end the vfilter patching got supported by USB Loader GX so I don't need to use GCR anymore for that purpose. Also I'm using Dolphin nowdays which can disable the vfilter for all games.