Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Ripping Samus Dread (.pkg file)

Post questions about game models here, or help out others!
kees
n00b
Posts: 18
Joined: Mon Jun 10, 2019 10:52 pm
Has thanked: 6 times
Been thanked: 2 times

Re: Ripping Samus Dread (.pkg file)

Post by kees »

Spiritovod wrote: Fri Oct 08, 2021 5:48 pm Script for bctex decompression added to my post above. I didn't bother with it much, but those are mipped textures, compressed with gzip - they're also using switch swizzling and most of them are DXT5. In decompressed textures first 0x78 bytes are base header, then there is 0xAC bytes of probably mips data, then at 0x124 there is additional header with total texture size and header size, then at 0x278 actual texture data. Probably format around the same as previous bctex, except for a few additional fields / magics.

Here is sample, converted with rawtex: https://drive.google.com/file/d/1TofvOA ... sp=sharing
i was trying to use the script for the bctx and i tried using it in a couple ways and only got errors. i dont know if you can leave a bit more detailed info on what to use that on and how to get to that stage to put it in rawtex. the rawtex stuff is understandable. switch swizzle and mostly DXT5 Texture Formats for cookin them up. just having a wee bit throuble so sorry about the throuble asking for clearification.. :(

****EDIT**** im a dumbich didnt know it was stored elsewere. been doing so much at once i didnt notice it. fuck
so am trying to get it to work now with plugging decompressed bctex into rawtex
Last edited by kees on Fri Oct 08, 2021 10:28 pm, edited 2 times in total.
Enderfacio
beginner
Posts: 25
Joined: Mon Sep 30, 2019 5:35 pm
Has thanked: 16 times

Re: Ripping Samus Dread (.pkg file)

Post by Enderfacio »

Joschka wrote: Fri Oct 08, 2021 7:10 pm Here's a Noesis script to load the mmdl files, supports mesh names, uvs, normals, skeleton with joint names and skinning. Many thanks to M-1 for the help with his samus returns research. Dread's format is basically an "upgrade" of that one, with a bunch of changes in the layout and some buffers being compressed.

It should work on environmental and skeleton meshes, at least all the samples I checked work fine.

https://github.com/Joschuka/fmt_mmdl

Image
pox911 wrote: Fri Oct 08, 2021 5:51 pm Lastly they have some meshes that have a normal placement value and other meshes that require the being attached to the skeleton before it's placed to get junk placed. Her cannon took me so long to get right.
This part actually annoyed me a lot, I had the exact same issue. Meshes with rigid skinning needed their vertices to be transformed by their associated joint.
Also I wasn't aware that someone else was planning to release a model plugin for this game, at least it'll help double checking the research done heh
Spiritovod wrote: Fri Oct 08, 2021 5:48 pm Script for bctex decompression added to my post above. I didn't bother with it much, but those are mipped textures, compressed with gzip - they're also using switch swizzling and most of them are DXT5. In decompressed textures first 0x78 bytes are base header, then there is 0xAC bytes of probably mips data, then at 0x124 there is additional header with total texture size and header size, then at 0x278 actual texture data. Probably format around the same as previous bctex, except for a few additional fields / magics.

Here is sample, converted with rawtex: https://drive.google.com/file/d/1-iUAAk ... sp=sharing
Neat, I don't like working on textures so that's helpful. I'll add bctex support to the plugin later if it's straighforward enough
First of all, thank you so much for the help!!!!! but I have a problem with the plugin, this error message show up:
You do not have the required permissions to view the files attached to this post.
User avatar
09williamsad
veteran
Posts: 104
Joined: Sun Mar 13, 2016 2:09 pm
Has thanked: 7 times
Been thanked: 36 times

Re: Ripping Samus Dread (.pkg file)

Post by 09williamsad »

Enderfacio wrote: Fri Oct 08, 2021 9:45 pm First of all, thank you so much for the help!!!!! but I have a problem with the plugin, this error message show up:
Is that on opening a file or launching noesis?

If the latter then you may want to update noesis, I did not have any launch issues on 4.456.
My archive of models, audio, textures etc: <Link removed due to site policy> Google my username to find it.
Enderfacio
beginner
Posts: 25
Joined: Mon Sep 30, 2019 5:35 pm
Has thanked: 16 times

Re: Ripping Samus Dread (.pkg file)

Post by Enderfacio »

09williamsad wrote: Fri Oct 08, 2021 9:49 pm
Enderfacio wrote: Fri Oct 08, 2021 9:45 pm First of all, thank you so much for the help!!!!! but I have a problem with the plugin, this error message show up:
Is that on opening a file or launching noesis?

If the latter then you may want to update noesis, I did not have any launch issues on 4.456.
When I try to open Noesis. I just downloaded v4458 and same thing happens =/
User avatar
09williamsad
veteran
Posts: 104
Joined: Sun Mar 13, 2016 2:09 pm
Has thanked: 7 times
Been thanked: 36 times

Re: Ripping Samus Dread (.pkg file)

Post by 09williamsad »

Enderfacio wrote: Fri Oct 08, 2021 9:56 pm When I try to open Noesis. I just downloaded v4458 and same thing happens =/
I think you may have downloaded the webpage instead of the py script.
The error has a HTML doctype, which is not in the python script.
My archive of models, audio, textures etc: <Link removed due to site policy> Google my username to find it.
kees
n00b
Posts: 18
Joined: Mon Jun 10, 2019 10:52 pm
Has thanked: 6 times
Been thanked: 2 times

Re: Ripping Samus Dread (.pkg file)

Post by kees »

Enderfacio wrote: Fri Oct 08, 2021 9:56 pm
09williamsad wrote: Fri Oct 08, 2021 9:49 pm
Enderfacio wrote: Fri Oct 08, 2021 9:45 pm First of all, thank you so much for the help!!!!! but I have a problem with the plugin, this error message show up:
Is that on opening a file or launching noesis?

If the latter then you may want to update noesis, I did not have any launch issues on 4.456.
When I try to open Noesis. I just downloaded v4458 and same thing happens =/
wierd cause v4433 works fine on my end. really wierd. lemme send a package version with the updated plugin in there that he posted

https://www.filemail.com/d/uibvpdchcgarsnj
Enderfacio
beginner
Posts: 25
Joined: Mon Sep 30, 2019 5:35 pm
Has thanked: 16 times

Re: Ripping Samus Dread (.pkg file)

Post by Enderfacio »

kees wrote: Fri Oct 08, 2021 10:09 pm
Enderfacio wrote: Fri Oct 08, 2021 9:56 pm
09williamsad wrote: Fri Oct 08, 2021 9:49 pm

Is that on opening a file or launching noesis?

If the latter then you may want to update noesis, I did not have any launch issues on 4.456.
When I try to open Noesis. I just downloaded v4458 and same thing happens =/
wierd cause v4433 works fine on my end. really wierd. lemme send a package version with the updated plugin in there that he posted

https://www.filemail.com/d/uibvpdchcgarsnj
YeeeeaahhH!!! I don't know why but that seems to work hahaha Thank you very much dude!!!
You do not have the required permissions to view the files attached to this post.
Spiritovod
mega-veteran
mega-veteran
Posts: 181
Joined: Sun Oct 10, 2010 9:44 pm
Has thanked: 35 times
Been thanked: 162 times

Re: Ripping Samus Dread (.pkg file)

Post by Spiritovod »

I've updated script for bctex in the package - it now extracts first mip from decompressed texture as "raw" file. You can convert it with Rawtex and provided in the filename parameters + switch swizzle (quickbms obviously doesn't support swizzling, so you can't directly convert to dds with it). Script still supports decompression only, for that simply edit the first line.
kees
n00b
Posts: 18
Joined: Mon Jun 10, 2019 10:52 pm
Has thanked: 6 times
Been thanked: 2 times

Re: Ripping Samus Dread (.pkg file)

Post by kees »

Spiritovod wrote: Fri Oct 08, 2021 5:48 pm Script for bctex decompression added to my post above. I didn't bother with it much, but those are mipped textures, compressed with gzip - they're also using switch swizzling and most of them are DXT5. In decompressed textures first 0x78 bytes are base header, then there is 0xAC bytes of probably mips data, then at 0x124 there is additional header with total texture size and header size, then at 0x278 actual texture data. Probably format around the same as previous bctex, except for a few additional fields / magics.

Here is sample, converted with rawtex: https://drive.google.com/file/d/1TofvOA ... sp=sharing

alright i got it to work for the normal standard textures. basically after decompressing run it through rawtex with 0xoffset 0x278 gives the standard texture. meanwhile now im trying to fath around with the normal maps but it is a difrent format. am trying to trial and error see if i can find wich format it is cause it doesnt seem to be DXT5 or its close relatives (BC3).

as soon as i was done writing it just submitted. found the format for normals.its BC5U (ATI2) for the ones ive tested. but the same happend as with DE ones. photoshop acts wierd with it. and paint .net craps its pants. luckally we already use noesis and its able to read the muppet. so just open that file in noesis and export. and that should do it. imma do the rest of em and post a complete build soonish of it all together. there are som mappings happening witht the funny alpha layer but that hopefully with a bit of editing wont be an issue
You do not have the required permissions to view the files attached to this post.
Last edited by kees on Sat Oct 09, 2021 12:41 am, edited 1 time in total.
kees
n00b
Posts: 18
Joined: Mon Jun 10, 2019 10:52 pm
Has thanked: 6 times
Been thanked: 2 times

Re: Ripping Samus Dread (.pkg file)

Post by kees »

Spiritovod wrote: Sat Oct 09, 2021 12:11 am I've updated script for bctex in the package - it now extracts first mip from decompressed texture as "raw" file. You can convert it with Rawtex and provided in the filename parameters + switch swizzle (quickbms obviously doesn't support swizzling, so you can't directly convert to dds with it). Script still supports decompression only, for that simply edit the first line.
right when i just got it working and figured out normals somewhat XD. imma try the new script edit of yours and see how it goes.

***edit*** just tried the V2 script and it does works yaye. still need to re export normals via noesis but at least the raws tell you what format it is now so its less confusing. and not to mention eliminating the 0xoffset
kees
n00b
Posts: 18
Joined: Mon Jun 10, 2019 10:52 pm
Has thanked: 6 times
Been thanked: 2 times

Re: Ripping Samus Dread (.pkg file)

Post by kees »

Joschka wrote: Fri Oct 08, 2021 7:10 pm Here's a Noesis script to load the mmdl files, supports mesh names, uvs, normals, skeleton with joint names and skinning. Many thanks to M-1 for the help with his samus returns research. Dread's format is basically an "upgrade" of that one, with a bunch of changes in the layout and some buffers being compressed.

It should work on environmental and skeleton meshes, at least all the samples I checked work fine.

https://github.com/Joschuka/fmt_mmdl

Image
pox911 wrote: Fri Oct 08, 2021 5:51 pm Lastly they have some meshes that have a normal placement value and other meshes that require the being attached to the skeleton before it's placed to get junk placed. Her cannon took me so long to get right.
This part actually annoyed me a lot, I had the exact same issue. Meshes with rigid skinning needed their vertices to be transformed by their associated joint.
Also I wasn't aware that someone else was planning to release a model plugin for this game, at least it'll help double checking the research done heh
Spiritovod wrote: Fri Oct 08, 2021 5:48 pm Script for bctex decompression added to my post above. I didn't bother with it much, but those are mipped textures, compressed with gzip - they're also using switch swizzling and most of them are DXT5. In decompressed textures first 0x78 bytes are base header, then there is 0xAC bytes of probably mips data, then at 0x124 there is additional header with total texture size and header size, then at 0x278 actual texture data. Probably format around the same as previous bctex, except for a few additional fields / magics.

Here is sample, converted with rawtex: https://drive.google.com/file/d/1-iUAAk ... sp=sharing
Neat, I don't like working on textures so that's helpful. I'll add bctex support to the plugin later if it's straighforward enough


we got an issue with the mapping of the materials. i dont know how your script works joshka but there are more than 1 material assigned to a mesh. i assigned the body texture and noticed the shoulders were off. i overlayed the UVmap over the head one for the shoulders. and it seems to fit right. when earlier tried the varia suit i noticed some funkyness with the textures in some places being off. could this be the culpred?

in the meantime im gonna collect all the textures base ones i can and make a zip file to put in here and report an issue on the github.

***edit*** here is the link with the file. it should have the material ajusted for it (only included the ones i showed the issue with to keep size down and it shows enough anyway). not sure if it will be any help but here it is. also ill refrain from sending it on the github since i see youre still updating it so im not posting issues when youre already at it probably fixing it
https://www.filemail.com/d/rrrbaphcweqbjyz

***edit2*** the new script for noesis works good and the vertex colors are getting picked up so! the only thing is that material issue but i know that happend right before i posted that.
You do not have the required permissions to view the files attached to this post.
Enderfacio
beginner
Posts: 25
Joined: Mon Sep 30, 2019 5:35 pm
Has thanked: 16 times

Re: Ripping Samus Dread (.pkg file)

Post by Enderfacio »

kees wrote: Sat Oct 09, 2021 12:31 am
Spiritovod wrote: Sat Oct 09, 2021 12:11 am I've updated script for bctex in the package - it now extracts first mip from decompressed texture as "raw" file. You can convert it with Rawtex and provided in the filename parameters + switch swizzle (quickbms obviously doesn't support swizzling, so you can't directly convert to dds with it). Script still supports decompression only, for that simply edit the first line.
right when i just got it working and figured out normals somewhat XD. imma try the new script edit of yours and see how it goes.

***edit*** just tried the V2 script and it does works yaye. still need to re export normals via noesis but at least the raws tell you what format it is now so its less confusing. and not to mention eliminating the 0xoffset
The textures you shared worked fine. The body used one and the head, arms and shoulders used the other. The only one missing is the arm cannon
You do not have the required permissions to view the files attached to this post.
ryburgers
ultra-n00b
Posts: 2
Joined: Fri Oct 08, 2021 11:39 pm
Has thanked: 1 time

Re: Ripping Samus Dread (.pkg file)

Post by ryburgers »

Very cool. With the .bctex files, are there any r/g/b channel swaps or inverts necessary after using rawtex? I seem to be getting overly blue .dds image output from rawtex. I've tried both the original and v2 bms scripts, but the result is the same. Looking at powerbody and powerhead textures shared above for example, I'm not getting the red in the breastplate.

I don't often deal with texture encoding, so I'm just curious what's happening here. Or if maybe there are some in-between steps I'm not understanding. I'm getting the normals output in good shape though.

Lastly, the powerbody_bc in the sample texture download looks more like my powerbody_at. What's up with that? Do the two textures need to be combined somehow? My powerbody_bc is mostly blank with green accents.
You do not have the required permissions to view the files attached to this post.
User avatar
Joschka
mega-veteran
mega-veteran
Posts: 286
Joined: Fri Aug 09, 2019 3:51 pm
Has thanked: 73 times
Been thanked: 413 times

Re: Ripping Samus Dread (.pkg file)

Post by Joschka »

Ok so

SCRIPT UPDATED
-New semantics added (tangents, secondary, 3rd UV channels, colors)
-A few fixes on models not loading
-Preliminary texture support, you can now load the bctex directly in Noesis. I only added the BC5 and DXT5 types for now, if you encounter more report it here or on the git repo and I'll add them.
09williamsad wrote: Fri Oct 08, 2021 7:50 pm Thank you for the Noesis script.
I ran it in batch on all the MMDL models to see the results.
Out of 8333 models, only 182 did not convert, list attached.
Cool thanks, some of them may have been fixed by M-1's last additions. I'd suggest giving another try with the latest version, I'll check the remaining non working files.
Enderfacio wrote: Fri Oct 08, 2021 9:45 pm First of all, thank you so much for the help!!!!! but I have a problem with the plugin, this error message show up:
Np, glad you like it . This happened because you saved the html page instead of the actual script.
kees wrote: Sat Oct 09, 2021 1:30 am we got an issue with the mapping of the materials. i dont know how your script works joshka but there are more than 1 material assigned to a mesh. i assigned the body texture and noticed the shoulders were off. i overlayed the UVmap over the head one for the shoulders. and it seems to fit right. when earlier tried the varia suit i noticed some funkyness with the textures in some places being off. could this be the culpred?

in the meantime im gonna collect all the textures base ones i can and make a zip file to put in here and report an issue on the github.

***edit*** here is the link with the file. it should have the material ajusted for it (only included the ones i showed the issue with to keep size down and it shows enough anyway). not sure if it will be any help but here it is. also ill refrain from sending it on the github since i see youre still updating it so im not posting issues when youre already at it probably fixing it
https://www.filemail.com/d/rrrbaphcweqbjyz

***edit2*** the new script for noesis works good and the vertex colors are getting picked up so! the only thing is that material issue but i know that happend right before i posted that.
The meshes are put together based on their original names, I didn't try to assign textures so far but it should work correctly. Enderfacio managed to get it right it seems.
Enderfacio wrote: Sat Oct 09, 2021 3:19 am The textures you shared worked fine. The body used one and the head, arms and shoulders used the other. The only one missing is the arm cannon
The way this game assigns materials is based on paths but most of them are hashed, so auto texture assignment is going to be tricky. What I'll be able to do at least is to dump the names of textures supposed to be assigned to each mesh, but then the user would have to find it manually. I'll see what I can do for this, barely looked into the material/meshes relation tbh
rdaugherty3 wrote: Sat Oct 09, 2021 7:36 am Very cool. With the .bctex files, are there any r/g/b channel swaps or inverts necessary after using rawtex? I seem to be getting overly blue .dds image output from rawtex. I've tried both the original and v2 bms scripts, but the result is the same. Looking at powerbody and powerhead textures shared above for example, I'm not getting the red in the breastplate.

I don't often deal with texture encoding, so I'm just curious what's happening here. Or if maybe there are some in-between steps I'm not understanding. I'm getting the normals output in good shape though.

Lastly, the powerbody_bc in the sample texture download looks more like my powerbody_at. What's up with that? Do the two textures need to be combined somehow? My powerbody_bc is mostly blank with green accents.
In Noesis you can press the cycle blend button to make the diffuse texture appear "correctly", it's the second one on your screen. As for how the to get it right on Blender I think you just need to ignore the alpha channel or something like this.
samboychips
ultra-n00b
Posts: 5
Joined: Mon Sep 07, 2020 9:04 am
Has thanked: 2 times

Re: Ripping Samus Dread (.pkg file)

Post by samboychips »

I'm trying to extract the NCA for this but it's asking me for the titlekey. Does anyone happen to know where I can find this or can someone possibly send it/post it here?
Post Reply