Holy crap, it’s Project EARC v2

I know it’s been a while but I was busy with school, competing in IEM Katowice and then had my hands full with figuring out the hashes for the FFXV Archive files.

I wanted to leave ffxv Scout in beta testing a while longer and refine it a bit more before releasing it but between the people asking for it and potential competitors, I decided to go ahead and release it.

The new version of ffxv Scout will extract, pack, repack, index and search archives for the retail version of Final Fantasy XV. This means we, as a community, are now one step closer to fully modding the game and turning it into our hearts desires.

Hopefully, you guys can rip ffxvScout apart, help me improve it and start churning out some awesome mods!

You can grab the latest version from the project page for Project EARC.

Project EARC and the FFXV package files

I keep thinking I should change the name of the project but I giggle inside every time I read it.

Anyways, I’m officially publishing this completely unfinished project — I plan to work on it more after I wrap up some things that are coming up soon (such as going out of town). I, also, don’t know how much things will change from the benchmark Square-Enix released to the game when it comes out March 6th.

Since I’m going to be busy over the next couple of weeks, I thought I would go ahead and publish what I have for now and let people have at it (and probably break it).

The devil’s in the details

There are, as of this post, 11 sets of bytes in the package files that I have no idea what they do. Further, there are at least 3 file flags that I couldn’t tell you what they do because I don’t know. To make matters even worse, I can’t even guarantee all of the files are extracted the way they’re suppose to be. Some could be encrypted, some could have oddities about them that require special handling, and some could not work due to a simple screw up on my end.

Fortunately, there are some XML files that I was able to verify via extraction and decompressing that appear to be exactly what they should be. So… there’s that. I haven’t been able to verify much else yet. I’m sure you all will let me know how much it doesn’t work.

A helping hand

For those who are interested, or might want to take up the challenge themselves, I can offer what I know.

Straight from the comments I made in the source code as I was going.

//* 0x00 [0x43 0x52 0x41 0x46] signature -- "CRAF" (could be FARC backwards)
//* 0x04 [0x14 0x00 0x03 0x00] ?? -- maybe version?
//* 0x08 [0x-- 0x-- 0x-- 0x--] count -- number of items (acts as size for lists of files) 
//* 0x0c [0x-- 0x-- 0x-- 0x--] ?? 
//* 0x10 [0x-- 0x-- 0x-- 0x--] offset from start -- [SEEMS TO ALWAYS BE 0x40] information about files including things like offset, length etc 
//* 0x14 [0x-- 0x-- 0x-- 0x--] offset from start -- offset for list of files (# of files = count above) 
//* 0x18 [0x-- 0x-- 0x-- 0x--] offset from start -- offset for second list of files (# of files = count above) 
//* 0x1c [0x-- 0x-- 0x-- 0x--] offset from start -- start of data 
//* .... 
//* NEXT SET REPEATS FOR COUNT ENTRIES WHERE COUNT IS THE ABOVE COUNT STARTING AT 0x40 (usually) 
//* 0x40 [0x-- 0x-- 0x-- 0x-- 0x-- 0x-- 0x-- 0x--] ?? -- no idea (maybe integrity check to see if data has been corrupted?) 
//* 0x48 [0x-- 0x-- 0x-- 0x--] ?? 
//* 0x4c [0x-- 0x-- 0x-- 0x--] length of data 
//* 0x50 [0x-- 0x-- 0x-- 0x--] ?? 
//* 0x54 [0x-- 0x-- 0x-- 0x--] offset of specific entry from start 
//* 0x58 [0x-- 0x-- 0x-- 0x--] offset of data 
//* 0x5c [0x-- 0x-- 0x-- 0x--] ?? 
//* 0x60 [0x-- 0x-- 0x-- 0x--] offset of second list entry

I have actually figured out a bit more than is there but I can’t remember it off the top of my head at the moment. I’ll do a more in-depth write up about it after some sleep (it’s currently almost 4 AM and I have class today) so be sure to check back for that if you’re interested in this kind of thing.

Anyways, head on over to the projects page and give it a whirl.

So, I guess I finally did it…

I have been thinking about getting a site where I can put my projects, post about the things I like or do not like, complain and share my thoughts on, hopefully, interesting subjects. However, I never really felt I was in a position to warrant having a website — that no one would visit it and that my contributions would be ignored.

However, I have decided to publish one of my projects (soon, a second will be coming) and that decision acted as the catalyst for getting this going and set up. I can’t promise I will be the most active of “bloggers” but when I do post, I intend to make it worth reading (this post aside).

I suppose that wraps this up and I look forward to getting PROJECT EARC (HAHAHA) posted soon.