Page 7 of 14

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Mon Mar 18, 2019 6:11 am
by pineapples721
Hello everyone. My break is over. Time to get back to work on Blacksmith version 1.5.

I have been poking at certain AC: Origins models (namely DataPC_ACE_Egypt.forge > BIO_VEG_DatePalm_Tall_01A_LOD0 or DataPC_PresentDay.forge > PRE_ALL_Jeep_01_LOD0). The Faces chunk has more faces than the total of each mesh/submesh's faces. For example, there are 12608 found in the Faces chunk of BIO_VEG_DatePalm_Tall_01A_LOD0, but only 12364 totaled by the meshes.

This problem might explain the random excess faces. My hunch is that there is padding between each mesh's group of faces (in other words: after the first mesh's faces, there is padding, and this repeats).

Quest for the community
Could any of you investigate this? I attached BIO_VEG_DatePalm_Tall_01A_LOD0. Use 7-Zip or WinRAR to open the file. I appreciate your help.

Useful information: The Vertices chunk begins at 0x133 (307) and the Faces chunk begins at 0x567BF (354239). The end of the Faces chunk is at 0x68F42 (429890).

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Mon Mar 18, 2019 9:18 am
by akderebur
pineapples721 wrote: Mon Mar 18, 2019 6:11 am This problem might explain the random excess faces. My hunch is that there is padding between each mesh's group of faces (in other words: after the first mesh's faces, there is padding, and this repeats).
You are totally ignoring the submesh table, which is "int[][] cluelessData" in your code. It contains info on starting index and starting vertex for each submesh. That is the padding you need.

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Tue Mar 19, 2019 7:18 pm
by pineapples721
Alright, everyone. I know that you all have been waiting patiently for an update regarding Version 1.5. I assure you that it will be available by March 27, 2019 and you will be delighted.

In the meantime, I have been investigating Origins models further and improving the importer in Blacksmith. I want to share with you a discovery.

I found three unknown chunks after the Faces chunk, of which I have yet to figure what each of these chunks are. These three chunks appear before the MeshData chunk (which begins with 0x645ABB5). This is the part of my 010 Editor template for these three chunks:

Code: Select all

typedef struct {
    byte data[48];
} Unknown2Type;

struct Unknown2 {
    int size;
    Unknown2Type unknown2Types[size/48];
} unknown2;

typedef struct {
    byte data[48];
} Unknown3Type;

struct Unknown3 {
    int size;
    Unknown3Type unknown3Types[size/48];
} unknown3;

typedef struct {
    byte data[28];
} Unknown4Type;

struct Unknown4 {
    int size;
    Unknown4Type unknown4Types[size/28];
} unknown4;
The count of Unknown2Types and Unknown3Types is referenced in the Compiled Mesh chunk (0xFC9E1595) 34 bytes after 0xFC9E1595, at the top of the file.

From the file in my previous post (BIO_VEG_DatePalm_Tall_01A_LOD0), I extracted these three chunks for you to test the code above yourself with 010 Editor. This is attached.

Moral of the story: If any of you could help me determine what each chunk is, that would be much appreciated.

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Wed Mar 20, 2019 1:59 pm
by cire992
I'm woefully under qualified to be speculating here, but could it be some kind of weird element grouping data?

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Thu Mar 21, 2019 6:38 am
by Leo73
Tried it, but no success unfortunately, i got no idea what it could be :-/

but i wanted to let you know that i tried it, there is still much interest in your Blacksmith Tool and the progress

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Sun Mar 24, 2019 9:18 pm
by pineapples721
Version 1.5 is coming along well. The model importing issue has been fixed. The model export feature has been bettered. Expect the release this week (on or before Wednesday).

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Mon Mar 25, 2019 3:53 pm
by cire992
That's great news, I'm looking forward to it. Out of curiosity, did you end up identifying those mysterious chunks you mentioned? I don't know much about code, but strangely, your post has been rattling around in my mind these last few days.

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Mon Mar 25, 2019 4:27 pm
by Ezekiel
finnaly, can't wait, you brought me smile in real life,
Image

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Mon Mar 25, 2019 4:57 pm
by pineapples721
cire992 wrote: Mon Mar 25, 2019 3:53 pm That's great news, I'm looking forward to it. Out of curiosity, did you end up identifying those mysterious chunks you mentioned? I don't know much about code, but strangely, your post has been rattling around in my mind these last few days.
No, I have not identified those chunks. They will remain unknown. For our purposes now (extracting only the geometry, normals, and texture coordinates), these chunks are probably not important.

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Mon Mar 25, 2019 5:28 pm
by cire992
Weird. Well, at least its not critical to what you're trying to do, anyway.

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Wed Mar 27, 2019 3:48 am
by pineapples721
Version 1.5 may or may not be delayed by a day or two, because of an ugly issue with the model importer.
Fear not, though! Tomorrow I will provide a Noesis script for Origins to tie you over until Version 1.5's release. :)

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Wed Mar 27, 2019 10:35 am
by Ezekiel
What a good person you are, apologizing, like we paid you for this tool, hah. :up:

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Wed Mar 27, 2019 10:59 pm
by cire992
Ooo a Noesis script, that could be really useful, especially for batch processing. Thanks for the update!

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Wed Mar 27, 2019 11:54 pm
by pineapples721
Here is the Noesis script. I zipped it because Xentax does not like .py files. Put the .py file in: <Noesis folder>\plugins\python. Go in Noesis, and select Tools > Reload Plugins.

Re: Blacksmith - an Assassin's Creed: Odyssey extraction tool

Posted: Thu Mar 28, 2019 6:59 am
by cire992
This is great! No errors so far, and I've been testing out lots of different kinds of meshes. Even the problematic architectural meshes are working fine. You're doing an awesome job with this, I really appreciate it. :D

As always, I'll let you know if I notice anything interesting while I mess around with the script.