Page 1 of 2
[HELP] Luigi's Mansion 3 .DATA file
Posted: Sat Oct 26, 2019 3:35 pm
by devomako
Hoping someone can help me extract some stuff from this format, searching online hasn't brought in any results haha
Basically from what I can tell everything from looking at sizes and the names, every separate part of the game has a .DATA file and they contain all the parts for those areas, the programming (i assume), the models, textures, etc (minus the sound since that's a wwiseaudio thing) however I can't seem to get a grasp on the format itself since there's no reference of .DATA stuff online
If someone can look into it and help me with this it'd be great, here's the global .DATA file that I assume has stuff in it for base level stuff like UI, Luigi's stuff, etc
https://drive.google.com/open?id=1wJkkG ... pdLNcJhWaf
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 5:17 am
by deschamps12
Did you need new keys to extract the xci for this? Trying to take a look at it but can't seem to extract. Will let you know if I get anything from the DATA file though
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 6:55 am
by devomako
I got my keys from the /hbg/ discord since if I need something quick it's easier then dumping my own and those seemed to work fine, so I assume since those are probs newest firmware then that might be the reason? I'm not sure though
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 9:33 am
by Demonslayerx8
From what I can tell, the .data is compressed, the .dict file that's alongside them is the file location in the .data, which also tells the size of the file, offset location, and folder path? Seems to be hashed from a quick glance at the files from my dump.
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 2:47 pm
by AdventureT
I have extracted the global.data file with offzip and got an file called 0adfc330.sdb which contains model data. I'm currently trying to extract it with hex2obj/advanced mesh reaper...
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 2:59 pm
by DKDave
Have you got the .dict file as well? There are a few thousand files in that .data archive by the look of it.
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 3:08 pm
by devomako
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 3:28 pm
by AdventureT
I now have gotten the mesh although it seems not correct.
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 7:44 pm
by gilsongbj
I found this on the internet. I don't know if it will help you
https://gist.github.com/RoadrunnerWMC/f ... 6ee73eaa9f
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Sun Oct 27, 2019 10:10 pm
by Demonslayerx8
that is for Dark Moon, that will most likely not help for us lol
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Mon Oct 28, 2019 12:30 am
by DKDave
You can use this QuickBMS script to extract and decompress the data - not sure yet how the filenames/folders are stored in the first table in the .DICT file so there's no proper filenames yet.
# Luigi's Mansion 3 - .dict extract
# By Dave, 2019
# Needs to be in same folder as global.dict, global.data, global.debug and global.nxpc
ComType zlib
Goto 0x0c
Get ENTRIES2 byte
Get ENTRIES1 byte
Get ENTRIES3 byte
XMath FILE_TABLE "(ENTRIES1 * 0x18) + 0x10"
XMath TEXT_TABLE "FILE_TABLE + (ENTRIES2 * 0x10)"
# Open data files
Goto TEXT_TABLE
For A = 1 to ENTRIES3
Get JUNK byte
Get DATA_FILE String
Open FDDE DATA_FILE A
Next A
# Read file table entries
Goto FILE_TABLE
For A = 1 to ENTRIES2
Get OFFSET Long
Get SIZE Long
Get ZSIZE Long
Get JUNK Byte
Get JUNK Byte
Get SOURCE Byte
Math SOURCE + 1
Get JUNK Byte
Set FILENAME "LM3_"
String FILENAME + A
If SIZE <> 0
Clog FILENAME OFFSET ZSIZE SIZE SOURCE
Endif
Next A
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Mon Oct 28, 2019 2:18 am
by Über Winfrey
DKDave wrote: ↑Mon Oct 28, 2019 12:30 am
You can use this QuickBMS script to extract and decompress the data - not sure yet how the filenames/folders are stored in the first table in the .DICT file so there's no proper filenames yet.
# Luigi's Mansion 3 - .dict extract
# By Dave, 2019
# Needs to be in same folder as global.dict, global.data, global.debug and global.nxpc
ComType zlib
Goto 0x0c
Get ENTRIES2 byte
Get ENTRIES1 byte
Get ENTRIES3 byte
XMath FILE_TABLE "(ENTRIES1 * 0x18) + 0x10"
XMath TEXT_TABLE "FILE_TABLE + (ENTRIES2 * 0x10)"
# Open data files
Goto TEXT_TABLE
For A = 1 to ENTRIES3
Get JUNK byte
Get DATA_FILE String
Open FDDE DATA_FILE A
Next A
# Read file table entries
Goto FILE_TABLE
For A = 1 to ENTRIES2
Get OFFSET Long
Get SIZE Long
Get ZSIZE Long
Get JUNK Byte
Get JUNK Byte
Get SOURCE Byte
Math SOURCE + 1
Get JUNK Byte
Set FILENAME "LM3_"
String FILENAME + A
If SIZE <> 0
Clog FILENAME OFFSET ZSIZE SIZE SOURCE
Endif
Next A
does the debug and nxpc files dump separately or are they inside a file, cause I'm not seeing a single instance of those two files in the game except for the reference in .dict
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Mon Oct 28, 2019 11:16 am
by Demonslayerx8
same with me, I only got .data and .dict from unpacking the romfs.
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Mon Oct 28, 2019 5:46 pm
by DKDave
I just dumped the files in .DICT order.
If you add the line: Print "Source: %SOURCE%" after the Clog line, you can see which archive the files are from (1=.data, 2=.debug, 3=.nxpc)
So, files 59, 60 and 61 are from .nxpc, which looks to be about 500 MB of data.
Re: [HELP] Luigi's Mansion 3 .DATA file
Posted: Wed Oct 30, 2019 1:16 am
by Demonslayerx8
well I added it, but still no luck on getting those missing files..