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

Blacksmith - an Assassin's Creed: Odyssey extraction tool

The Original Forum. Game archives, full of resources. How to open them? Get help here.
Post Reply
User avatar
pineapples721
advanced
Posts: 58
Joined: Tue Sep 05, 2017 6:39 pm
Has thanked: 2 times
Been thanked: 60 times
Contact:

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

Post 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).
You do not have the required permissions to view the files attached to this post.
akderebur
double-veteran
double-veteran
Posts: 640
Joined: Fri Jul 08, 2011 10:36 am
Has thanked: 65 times
Been thanked: 898 times

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

Post 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.
User avatar
pineapples721
advanced
Posts: 58
Joined: Tue Sep 05, 2017 6:39 pm
Has thanked: 2 times
Been thanked: 60 times
Contact:

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

Post 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.
You do not have the required permissions to view the files attached to this post.
cire992
beginner
Posts: 31
Joined: Sun May 02, 2010 4:39 am

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

Post by cire992 »

I'm woefully under qualified to be speculating here, but could it be some kind of weird element grouping data?
Leo73
beginner
Posts: 36
Joined: Sun Feb 17, 2019 10:06 pm
Has thanked: 13 times
Been thanked: 2 times

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

Post 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
User avatar
pineapples721
advanced
Posts: 58
Joined: Tue Sep 05, 2017 6:39 pm
Has thanked: 2 times
Been thanked: 60 times
Contact:

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

Post 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).
cire992
beginner
Posts: 31
Joined: Sun May 02, 2010 4:39 am

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

Post 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.
Ezekiel
beginner
Posts: 37
Joined: Sun Jan 24, 2016 9:18 pm
Has thanked: 45 times
Been thanked: 1 time

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

Post by Ezekiel »

finnaly, can't wait, you brought me smile in real life,
Image
Last edited by Ezekiel on Wed Mar 27, 2019 10:36 am, edited 1 time in total.
User avatar
pineapples721
advanced
Posts: 58
Joined: Tue Sep 05, 2017 6:39 pm
Has thanked: 2 times
Been thanked: 60 times
Contact:

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

Post 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.
cire992
beginner
Posts: 31
Joined: Sun May 02, 2010 4:39 am

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

Post by cire992 »

Weird. Well, at least its not critical to what you're trying to do, anyway.
User avatar
pineapples721
advanced
Posts: 58
Joined: Tue Sep 05, 2017 6:39 pm
Has thanked: 2 times
Been thanked: 60 times
Contact:

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

Post 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. :)
Ezekiel
beginner
Posts: 37
Joined: Sun Jan 24, 2016 9:18 pm
Has thanked: 45 times
Been thanked: 1 time

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

Post by Ezekiel »

What a good person you are, apologizing, like we paid you for this tool, hah. :up:
cire992
beginner
Posts: 31
Joined: Sun May 02, 2010 4:39 am

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

Post by cire992 »

Ooo a Noesis script, that could be really useful, especially for batch processing. Thanks for the update!
User avatar
pineapples721
advanced
Posts: 58
Joined: Tue Sep 05, 2017 6:39 pm
Has thanked: 2 times
Been thanked: 60 times
Contact:

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

Post 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.
You do not have the required permissions to view the files attached to this post.
cire992
beginner
Posts: 31
Joined: Sun May 02, 2010 4:39 am

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

Post 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.
Post Reply