READ THE RULES: Click here

Follow us on Facebook: https://www.facebook.com/xentax/ :)

ACExplorer - An Assassin's Creed .forge extractor and framework

The Original Forum. Game archives, full of resources. How to open them? Get help here.
User avatar
gentlegiantJGC
n00b
Posts: 10
Joined: Fri Nov 10, 2017 1:49 pm
Has thanked: 1 time
Been thanked: 13 times

ACExplorer - An Assassin's Creed .forge extractor and framework

Post by gentlegiantJGC » Sat Apr 20, 2019 10:55 am

ACExplorer V1.0.2
ACExplorer is an exporter and framework for accessing data from the Assassin's Creed forge file format. Written in Python 3.7.

If you would like to support me and this project you can donate via this link
https://www.paypal.me/gentlegiantJGC

Features:
  • Export base meshes to OBJ and COLLADA formats (automatically finds and exports textures).
  • Export textures to DDS format.
  • Export the assembled meshes as they appear in the world (see the Notre Dame example below)
  • Export the assembled low resolution mesh files used far from the camera.
  • A powerful user extendable python plugin system for reading and exporting the data to any required format.
Source code: https://github.com/gentlegiantJGC/ACExplorer
Executable release builds: https://github.com/gentlegiantJGC/ACExplorer/releases


Currently only Assassin's Creed Unity is supported but adding other games is almost as easy as adding a reader for the other file formats.

The user interface: (custom themes can be added)
Image

The Notre Dame. An example of what the program can do. It takes the individual models and pieces them together.
Image

The plugin system. Right click an entry to access plugins for that entry (they vary by data type).
Image
Plugins with a right click symbol next to them have further options hidden under a right click. Left clicking will run the plugin with the last/default options
Image
Last edited by gentlegiantJGC on Tue Jul 02, 2019 1:17 pm, edited 2 times in total.
Donate to support ACExplorer: https://www.paypal.me/gentlegiantJGC

lolwatt
veteran
Posts: 125
Joined: Mon Sep 22, 2014 1:23 am
Has thanked: 62 times
Been thanked: 10 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by lolwatt » Sun Apr 21, 2019 2:09 am

Damn, this is really cool! :)
Thanks for sharing with us!

User avatar
gentlegiantJGC
n00b
Posts: 10
Joined: Fri Nov 10, 2017 1:49 pm
Has thanked: 1 time
Been thanked: 13 times

ACExplorer V1.0.1

Post by gentlegiantJGC » Mon Apr 22, 2019 10:11 am

ACExplorer V1.0.1 is now available
  • Fixed numerical values in list boxes not rendering
  • Added icons to represent what the tree view entry represents
  • Fixed a mesh reading issue (if you find any malformed meshes please open an issue with the information)
https://github.com/gentlegiantJGC/ACExplorer/releases
Donate to support ACExplorer: https://www.paypal.me/gentlegiantJGC

User avatar
gentlegiantJGC
n00b
Posts: 10
Joined: Fri Nov 10, 2017 1:49 pm
Has thanked: 1 time
Been thanked: 13 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by gentlegiantJGC » Mon Apr 22, 2019 10:31 am

Question:
How to find a model of Notre Dame from Assassin's Creed Unity?
Answer: The Notre Dame is stored as hundreds (perhaps thousands) of individual 3D models scattered throughout the forge file. The DataBlock files specify how these models are pieced together in the world. The world is sliced up into a grid pattern and each DataBlock holds the data for one of these blocks. You will need to find each DataBlock (see below) used in that area and export each chunk individually to OBJ format and then load them all at the same time (which is what I did for that photo).

I want to add another plugin to make finding these chunks of data easier but that is the easiest option for now. Also note that file reading is not perfect so some models are skipped but it will get you what you see in the photo.

Here is a list of the names of the DataBlocks that cover the Notre Dame:

Cell07763_DataBlock
Cell07764_DataBlock
Cell07888_DataBlock
Cell07889_DataBlock
Cell07890_DataBlock
Cell07891_DataBlock
Cell07892_DataBlock
Cell08016_DataBlock
Cell08017_DataBlock
Cell08018_DataBlock
Cell08019_DataBlock
Cell08020_DataBlock
Cell08144_DataBlock
Cell08145_DataBlock
Cell08146_DataBlock
Cell08147_DataBlock
Cell08272_DataBlock
Cell08273_DataBlock
Cell09005_DataBlock
Cell09018_DataBlock
Donate to support ACExplorer: https://www.paypal.me/gentlegiantJGC

Jaapyse
ultra-n00b
Posts: 2
Joined: Tue Apr 30, 2019 11:20 pm

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by Jaapyse » Tue Apr 30, 2019 11:28 pm

Hi all,

Amazing project! Very impressive.
What is worth a mention is the following: When opening ACExplorer you can search for the mentioned DataBlocks. You will get two items for each Cell[number] search. TAKE THE FIRST ONE. It took me 5 hours to figure it out.
I had taken the second ones from the list, that's just my brain. :eek:

By the way gentle, is there any chance you could share the file you used for the screenshots directly? Compiling it all into one file is quite the hassle, and you already have it, so I thought I'd just ask. :)

Thanks again for sharing this awesome project!
- Jaapyse

User avatar
gentlegiantJGC
n00b
Posts: 10
Joined: Fri Nov 10, 2017 1:49 pm
Has thanked: 1 time
Been thanked: 13 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by gentlegiantJGC » Wed May 01, 2019 9:52 am

Jaapyse wrote:
Tue Apr 30, 2019 11:28 pm
Hi all,

Amazing project! Very impressive.
What is worth a mention is the following: When opening ACExplorer you can search for the mentioned DataBlocks. You will get two items for each Cell[number] search. TAKE THE FIRST ONE. It took me 5 hours to figure it out.
I had taken the second ones from the list, that's just my brain. :eek:

By the way gentle, is there any chance you could share the file you used for the screenshots directly? Compiling it all into one file is quite the hassle, and you already have it, so I thought I'd just ask. :)

Thanks again for sharing this awesome project!
- Jaapyse
Thank you. Yeh there are sometimes two datafiles with the same block name but contain different data (and have a different numerical id which isn't currently show to the user).
The order of them can vary but like you say it is generally consistent if it is before or after. The easy way to tell is to expaand the entry and see which entry has more data. I would like to at some point add a tool to make extracting the data easier and in one file rather than lots.

For the screenshot I opened up all the files at the same time so that they loaded over each other so it isn't actually one file. Added to this the files are over 3GB and it isn't my property so I can't legally distribute it.
Donate to support ACExplorer: https://www.paypal.me/gentlegiantJGC

Jaapyse
ultra-n00b
Posts: 2
Joined: Tue Apr 30, 2019 11:20 pm

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by Jaapyse » Wed May 01, 2019 7:25 pm

Thanks for your reply, I understand that you can't share it.
I'll keep at it myself!

- Jaapyse

chavochavo79
ultra-n00b
Posts: 1
Joined: Sat Apr 27, 2019 10:25 pm

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by chavochavo79 » Thu May 02, 2019 12:35 am

Very nice. Any chance of getting an AC:Black Flag version?

mono24
ultra-veteran
ultra-veteran
Posts: 433
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 143 times
Been thanked: 77 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by mono24 » Sun May 26, 2019 12:54 am

Thank you for this amazing work for Unity game, and world coordinates for map geometry, much appreciated.

I simply cannot export to COLLADA, since OBJ has major issues while importing in 3dsMax 2018/2020, complains about vertex coordinate too big adjust object-scale on almost all of them, and NOTHING gets imported.
And a good majority of geometry is in the middle of the scene as vertices in 3dsMax 2012, very odd.
Every time I right click like in image below and select Export DataBlock nothing else appears on the screen to select COLLADA, I just see the OBJ/MTL pair exported with the relevant textures, noting else.

I really want to give this a try and test it out, but I am obviously missing something to test COLLADA.
gentlegiantJGC wrote:
Sat Apr 20, 2019 10:55 am
  • Export base meshes to OBJ and COLLADA formats (automatically finds and exports textures).
So basically I see this option.
Image
BUT, I do NOT get this option, what so ever, what am i doing wrong?
Image
Also, to do multiple CellBlocks selection/extraction would be very nice, one by one is super tedious :)

Decovulous
ultra-n00b
Posts: 1
Joined: Sun May 26, 2019 6:38 am

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by Decovulous » Sun May 26, 2019 6:40 am

Hey this is awesome work you're doing! Does this also detect the Dead Kings DLC?? I'm trying to find the model for the Guillotine Gun but I'm having trouble.

User avatar
gentlegiantJGC
n00b
Posts: 10
Joined: Fri Nov 10, 2017 1:49 pm
Has thanked: 1 time
Been thanked: 13 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by gentlegiantJGC » Sun May 26, 2019 9:40 am

mono24 wrote:
Sun May 26, 2019 12:54 am
and select Export DataBlock nothing else appears
You are right clicking on the item in the tree view to get the plugin select dialogue. It sounds like you are then left clicking the "Export DataBlock" plugin which runs it using the last used/default inputs. To open the further dialogue boxes you need to right click on the "Export DataBlock" function. This is signified by right click mouse icon to the left.

This being said it might not fix your issue. It sounds like 3dsMax does not like large vertices. This program exports the models to the same coordinates they are in the world which are rather large. If there is an option in the 3dsMax obj import window to scale the model then try that. The model works fine when imported into Blender.

Edit: I would like to do a multi data block export at some point but I still need to reverse engineer the file that points to them
Donate to support ACExplorer: https://www.paypal.me/gentlegiantJGC

User avatar
gentlegiantJGC
n00b
Posts: 10
Joined: Fri Nov 10, 2017 1:49 pm
Has thanked: 1 time
Been thanked: 13 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by gentlegiantJGC » Sun May 26, 2019 9:48 am

Decovulous wrote:
Sun May 26, 2019 6:40 am
Hey this is awesome work you're doing! Does this also detect the Dead Kings DLC?? I'm trying to find the model for the Guillotine Gun but I'm having trouble.
It should load all forge files that are in the same directory as long as they are the same format. If you are trying to find a specific object using the search feature then it is worth pointing out that it is currently case sensitive (I need to improve it but haven't gotten around to it). Try searching for "uillotine" without the g and it will capture entries containing "guillotine" and "Guillotine".

To export things property (including textures) from things outside of the base game you will need to either manually find the texture files or right click on the forge file and select the decompress forge file plugin.
Donate to support ACExplorer: https://www.paypal.me/gentlegiantJGC

mono24
ultra-veteran
ultra-veteran
Posts: 433
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 143 times
Been thanked: 77 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by mono24 » Sun May 26, 2019 6:47 pm

gentlegiantJGC wrote:
Sun May 26, 2019 9:40 am
It sounds like you are then left clicking the "Export DataBlock" plugin which runs it using the last used/default inputs. To open the further dialogue boxes you need to right click on the "Export DataBlock" function. This is signified by right click mouse icon to the left.
Yeah, that was one main step I was missing, thanks for that.
gentlegiantJGC wrote:
Sun May 26, 2019 9:40 am
This being said it might not fix your issue. It sounds like 3dsMax does not like large vertices. This program exports the models to the same coordinates they are in the world which are rather large. If there is an option in the 3dsMax obj import window to scale the model then try that.
Unfortunately there is nothing that I will try to make it import to 3dsMax 2018/2020 if I change the scale even up to 0.01, it will still throw same error.

Also will look forward to use the COLLADA option to be implemented for export, or maybe even FBX? since it only does OBJ/MTL at the moment, unless that is easy enough to pick and I don't see it? :?
obj.jpg
And looking forward as well for more improvements to the tool if your still working on it, its really amazing so far. :)
You do not have the required permissions to view the files attached to this post.

mono24
ultra-veteran
ultra-veteran
Posts: 433
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 143 times
Been thanked: 77 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by mono24 » Sun May 26, 2019 8:08 pm

Carefully loading the mentioned blocks in your post still doesn't show what you have in your screenshot, no matter what, even if I follow the pattern blocks, still same result every time, literally.
001.JPG
Something must NOT get exported/imported/missing, that is Blender 2.79 in screenshot btw.
You do not have the required permissions to view the files attached to this post.

User avatar
gentlegiantJGC
n00b
Posts: 10
Joined: Fri Nov 10, 2017 1:49 pm
Has thanked: 1 time
Been thanked: 13 times

Re: ACExplorer - An Assassin's Creed .forge extractor and framework

Post by gentlegiantJGC » Sun May 26, 2019 9:12 pm

mono24 wrote:
Sun May 26, 2019 6:47 pm
Also will look forward to use the COLLADA option to be implemented for export, or maybe even FBX? since it only does OBJ/MTL at the moment
I don't know what the issue is with 3ds Max as I don't have it to play around with.

I may not have implemented COLLADA for that plugin. I think it is only set up for individual models currently. If you know anything about python you could add it. The COLLADA handler has been written so it should just be a case of hooking it up to the plugin.
mono24 wrote:
Sun May 26, 2019 8:08 pm
Something must NOT get exported/imported/missing
You will note that a number of the data blocks with data in them appear twice in the list. Generally one contains all the data and another one contains some of the data (I still need to work out why this is the case). You will need to play around and find the ones with all the data. You have probably exported some of the ones with only part
Donate to support ACExplorer: https://www.paypal.me/gentlegiantJGC

Post Reply