MeltyPlayer / FinModelUtility

Model viewer and command-line tools for extracting models from various GCN/3DS/PC games en-masse.
GNU General Public License v3.0
89 stars 9 forks source link

Error while ripping mario kart double dash #11

Closed LiamTyler closed 1 year ago

LiamTyler commented 1 year ago

Hi there! I'm new to this tool, and really excited to try it out. I get this error while trying to rip MKDD though:

FinModelUtility\cli>tools\universal_model_extractor\universal_model_extractor.exe mario_kart_double_dash
Unhandled exception. System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.ThrowHelper.ThrowNoMatchException()
   at fin.io.FileHierarchy.FileHierarchyDirectory.GetSubdirImpl_(IEnumerable`1 subdirs)
   at fin.io.FileHierarchy.FileHierarchyDirectory.TryToGetSubdir(String relativePath)
   at uni.games.mario_kart_double_dash.MarioKartDoubleDashFileGatherer.ExtractDrivers_(FileBundleDirectory`1 rootModelDirectory, IFileHierarchy fileHierarchy)
   at uni.games.mario_kart_double_dash.MarioKartDoubleDashFileGatherer.GatherFileBundles(Boolean assert)
   at uni.games.ExtractorUtil.ExtractAll[T](IFileBundleGatherer`1 gatherer, IModelLoader`1 loader)
   at uni.games.mario_kart_double_dash.MarioKartDoubleDashExtractor.ExtractAll()
   at uni.cli.Cli.<>c.<Main>b__0_8(MarioKartDoubleDashOptions _)
   at CommandLine.ParserResultExtensions.WithParsed[T](ParserResult`1 result, Action`1 action)
   at uni.cli.Cli.Main(String[] args)

It produces no files before the error. I am using an ISO file that I renamed to "mario_kart_double_dash.gcm", and placed it in the cli/roms folder. I verified that Dolphin can run that file "mario_kart_double_dash.gcm" just fine.

If you have any insight if this is user error or a new bug, that would be much appreciated!

MeltyPlayer commented 1 year ago

Sorry to hear you're having this issue, it sounds like this is either an issue with the ROM itself or finding the right directory.

Was this ROM an NKit ISO downloaded from Vimm's Lair? If so, this might be the same issue as https://github.com/MeltyPlayer/FinModelUtility/issues/9.

If not, could you calculate the file's SHA256 via this site and tell me what it is? https://emn178.github.io/online-tools/sha256_checksum.html

LiamTyler commented 1 year ago

Thanks for the reply! I tried the NKit ISO originally and then noticed issue #9, so I used a tool to convert it to a regular ISO file. That's supposed to be lossless, so I thought it would work? File size = 1,459,978,240 bytes, SHA256 hash = dfdcb3cbdf95a7e7e3f390c78e5d578be65879a753f1fa1cf0a4c167496eab26

Neither seemed to work when i tried. I also just tried downloading the pure ISO straight up from another website altogether, and got the same SHA256 result + error

MeltyPlayer commented 1 year ago

Actually, I've just verified that NKit ISOs should work since a recent change I made, so https://github.com/MeltyPlayer/FinModelUtility/issues/9 should no longer be applicable here. So I'm not really sure exactly what is causing the issue you're facing.

Is it possible you're using actually using a .CISO formatted ROM? I've just tried testing those too, and can verify those still don't work.

If it's not a .CISO, could you give the SHA1 of the original version of the file before you converted it? https://emn178.github.io/online-tools/sha1_checksum.html

MeltyPlayer commented 1 year ago

Actually nevermind, I just figured out how to add support for CISO ROMs lol.

Can you download the latest build and try again? If it's still not working, then you can try sending the SHA1 like I mentioned above?

LiamTyler commented 1 year ago

Grabbing latest worked for some reason lol, with the same roms. Very excited to dig in and see these models. Thanks for your help!