PredatorCZ / XenoMax

Xenoblade 3ds max plugin
GNU General Public License v3.0
22 stars 8 forks source link

Xenoblade 3 support #18

Open Andree12 opened 2 years ago

Andree12 commented 2 years ago

While most .wimdo files from Xenoblade 3 work as fine, certain files like ch01011011.wimdo crashes 3ds max (I only tried this in 3DS max 2018, other versions are untested) and these kinds of files likely have newly updated facial morphs.

I haven't tested out the animation files from this game yet, but I'll update it when I test it. PredatorCZ, if you want the files from this game, I'll DM the files to you in Xentax.

keesoudwater34 commented 2 years ago

so far there are a couple things ive found out

it only seems to crash fully so far on when textures for some models are getting grabbed (this happend on ch01011011 noahs full body mesh and am assuming for the face it does so too). same issue as with DE.

morphs right now are fully missing.

the arc/chr issue we had in DE is back with a vengeance. they are chr again but now seem to be missing. for the playable characters the skeleton refrence seems to be gone the extension for it (Jpc010000.skl for De as example.) and is just now called "skeleton" and no .skl. adding the .skl to it does make it able to be grabbed and ive had it be somewhat right before. but it acts funky on export.

for the weapons its even stranger. it doesnt have its DMXM header it doesnt get get recognized. ive tried bringing it back to see if its right but the tool says. "AnimationData Class not found, creating limitations. ERROR: [SAR] Invalid header. ERROR: [MXMD] Invalid header." even when i brought that back (if i even did it the right way). my friend says it meight be a sar container but so far i am not a 100% Sure

as for textures of the weapons i dont think they are contained in their main wismt file due to the file size but im gonna test that. (nope it didnt contain it)

imma continue testing but so far thats all i found

if i find out any more things ill post em here

Demonslayerx8 commented 2 years ago

I've also been messing with the files myself too, just like kees did. Some models just refuse to import even without exporting textures, but they do import when using the old max script.

Another thing I've noticed is that the models triangle strip might be different in XC3, some verts have wonky weights to em.

PredatorCZ commented 2 years ago

I see the game's out. I didn't even knew this game existed. I'm gonna take a look. Just a small thing, I'm gonna archive this repo the moment I release new toolset as a replacement.

keesoudwater34 commented 2 years ago

I see the game's out. I didn't even knew this game existed. I'm gonna take a look. Just a small thing, I'm gonna archive this repo the moment I release new toolset as a replacement.

yeh it got released earlier than expected and still leaked funny enough.

appart from that i hope youve been holding up well as of late.

keesoudwater34 commented 2 years ago

oh forgot to say aswell there has been an issue with 2's anim's some a couple of em crashing my 3ds max 2017. should i wait for the new toolset before posting that issue or not.

PredatorCZ commented 2 years ago

oh forgot to say aswell there has been an issue with 2's anim's some a couple of em crashing my 3ds max 2017. should i wait for the new toolset before posting that issue or not.

No need, with new toolset I can brute force test everything with lightning speed. :)

About the bone weights, it's a constant pain in the ass across all titles.

About textures, they now use (finally) external textures located in chr/tex/nx/[h|m], should be easier to manage. This applies only on chr.

Demonslayerx8 commented 2 years ago

Ooohh, so that's what the H/M folders are for, makes sense now that I think about it, did see those same hashes from those texture files inside the wimdo file. Don't forget about the newer texture formats that were added in XCDE and carried over to XC3.

PredatorCZ commented 2 years ago

Ooohh, so that's what the H/M folders are for, makes sense now that I think about it, did see those same hashes from those texture files inside the wimdo file. Don't forget about the newer texture formats that were added in XCDE and carried over to XC3.

The H folder is for highmips and M is for medium/middle mips, low mips are still within main stream. The hashes are more relevant to wismt file.

Demonslayerx8 commented 2 years ago

I'm guessing those H|M folders is for either dock mode or TV mode.

PredatorCZ commented 2 years ago

I'm guessing those H|M folders is for either dock mode or TV mode.

Not really, it's called mipmap streaming, it's a common process in every game nowadays. Mostly to increase load times and for better quality control (for example when you lower texture quality, you don't need high detailed mipmaps and so on).

So basically low mips are always loaded, middle are being streamed after certain point in loading process and highest mips when really necessary or if there's enough VRAM to store them into.

Demonslayerx8 commented 2 years ago

Ah ok, that makes a lot more sense to me now. That's cool.

PredatorCZ commented 2 years ago

Made a little preview version so you can convert textures and some misc stuff. https://github.com/PredatorCZ/XenoLib/releases/tag/toolset-v2.0-p1

Demonslayerx8 commented 2 years ago

Well I tried messing with it, but can't seem to get the textures at all from the CHR files... what's the proper CLI to doing it?

Demonslayerx8 commented 2 years ago

I was able to grab hold of the DLC01/Wave1 files, also uses ard/arh, quickbms script with zstd works with it. Files introduced is...

pcsmt and pcmdo, and a new folder inside the tex directory, pc

PredatorCZ commented 2 years ago

I was able to grab hold of the DLC01/Wave1 files, also uses ard/arh, quickbms script with zstd works with it. Files introduced is...

pcsmt and pcmdo, and a new folder inside the tex directory, pc

pc prefix? hint hint PC port possible (I think not given it's fckin Nintendo), but could be nice.

Also I had to remove your link, please do NOT post/upload actual gamedata here.

EDIT: Ya, for some reason they included assets for PC version as well, since the textures in pc/m are genuine dds files. This is kinda insulting, since devs are enjoying PC version while their evil publisher forces them to use only one platform.

Demonslayerx8 commented 2 years ago

I was able to grab hold of the DLC01/Wave1 files, also uses ard/arh, quickbms script with zstd works with it. Files introduced is... pcsmt and pcmdo, and a new folder inside the tex directory, pc

pc prefix? hint hint PC port possible (I think not given it's fckin Nintendo), but could be nice.

Also I had to remove your link, please do NOT post/upload actual gamedata here.

oh, well alright.. how will I send ya files then in the future cases?

EDIT: Ya, for some reason they included assets for PC version as well, since the textures in pc/m are genuine dds files. This is kinda insulting, since devs are enjoying PC version while their evil publisher forces them to use only one platform.

heh pure straight DDS files? that DOES sound insulting.

PredatorCZ commented 2 years ago

oh, well alright.. how will I send ya files then in the future cases?

You don't need to

heh pure straight DDS files? that DOES sound insulting.

Yeah and shaders are also for PC (SPIRV format?, so they run on OpenGL/Vulkan), so every .pc prefix is actually for PC platform.

Demonslayerx8 commented 2 years ago

Ok gotcha, will not send anything in the future.

Wonder if the model format is the same, or different for pc files.

keesoudwater34 commented 2 years ago

@PredatorCZ dunno if its alright to ask for a status update on what has been happening and what youre working on the part of currently? im honestly curious since been still researching stuff.

like one of the things wich im sure youve seen. the decompression of the xb3.ard with the old bms tool with the compression changed basically breaks the weapon files scrambling data around. like compleetly. only 3 work. some of the objects at the near end of the list. like for example oj07050410 and oj08012610 among a bunch around them. and some textures being mislabled from m to h folders. like all Tex/[n/h] are the wrong names compared to the winsmt versions. so they arent the same exact one.

so my main question on that issue is have you dug around the files with those issues about ard extraction? since the xb2 modified script breaks it. to quote my friend " bms looses track of what filename goes with what file. this happens most notibly in textures and weapons"

PredatorCZ commented 2 years ago

I've noticed that too, looks like I need to make arh extractor as well

PredatorCZ commented 2 years ago

I've added correct arh extractor in https://github.com/PredatorCZ/XenoLib/releases/tag/toolset-v2.0-p3

Demonslayerx8 commented 2 years ago

everything extracted properly as it should, good job! Now just waiting on model support and we should be golden.

nanogram commented 2 years ago

Will Xenolib eventually support extracting animation files as well?

PredatorCZ commented 2 years ago

Yea

nanogram commented 2 years ago

Just to clarify, for just 3 or also DE & 2?