Ok friend, I'll be waiting for your progress to convert these files.
Hugs.
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Assassins Creed PC .forge files
-
- advanced
- Posts: 47
- Joined: Thu Apr 15, 2010 7:16 am
- Has thanked: 3 times
- Been thanked: 13 times
Re: Assassins Creed PC .forge files
I'll document it myself then.Turfster wrote:No, but if you upload say the first 5 or 10 megs of it, I could take a quick look at it.
Edit: It uses URIs (Uniform Resource Identifiers) and practically all offsets are relative. This is going to be a pain.
Oh, and Assassin's Creed II was coded by Ubisoft Montreal and it shows: Most of the acroynms (AKPK, BKHD, DIDX, HIRC, STMG) make no sense in English. They probably stand for something in French.
Edit: Every acronym is followed by a 32-bit length of that section (this is true without exception). Found more too: DATA (uncompressed data, used exclusively for short .wav files), STID, and I doubt that's all.
The URIs generally aren't in order either. I don't think you'd get far with only 10 MiB of it.
-
- advanced
- Posts: 47
- Joined: Thu Apr 15, 2010 7:16 am
- Has thanked: 3 times
- Been thanked: 13 times
Re: Assassins Creed PC .forge files
All those four-letter combos I posted are known WWise identifiers? If so, is there already a program to handle them?
Re: Assassins Creed PC .forge files
Someone posted this script for PCK before somewhere on these forums, I don't recall where. aluigi probably wrote it -- though it was made for the XBox 360 version of the game, so I had to fix the script for PC.
And yes, sounds are wwise format and you can use ww2ogg to convert.
And yes, sounds are wwise format and you can use ww2ogg to convert.
Code: Select all
# script for QuickBMS http://aluigi.org/papers.htm#quickbms
Endian little
# Main header
IDString "AKPK"
Get HEADER_TOTAL_SIZE long
Get HEADER_UNK1 long
If HEADER_UNK1 != 1
Print "Strange HEADER_UNK1 = %HEADER_UNK1%, may crash..."
EndIf
Get HEADER_EXTRA_DATA_SIZE long
Get SIZE_OF_BLOCK1 long
Get SIZE_OF_BLOCK2 long
SavePos TEMP_POS
Math TEMP_POS += HEADER_EXTRA_DATA_SIZE
GoTo TEMP_POS
# Block 1
Set EXTRACT_BLOCK_BASE_PATH string "1"
CallFunction EXTRACT_BLOCK
# Block 2
Set EXTRACT_BLOCK_BASE_PATH string "2"
CallFunction EXTRACT_BLOCK
# Function to extract a block
# Set EXTRACT_BLOCK_BASE_PATH to the path where the files should be extracted before calling
StartFunction EXTRACT_BLOCK
Get BLOCK_NUM_ENTRIES long
For I = 0 < BLOCK_NUM_ENTRIES
# Read the file entry
Get ENTRY_ID long
Get ENTRY_BLOCK_SIZE long
Get ENTRY_SIZE long
Get ENTRY_UNK1 long
If ENTRY_UNK1 != 0
Print "Strange ENTRY_UNK1 = %ENTRY_UNK1%, may crash..."
EndIf
Get ENTRY_OFFSET_IN_BLOCKS long
Get ENTRY_UNK2 long
If ENTRY_UNK2 != 0
If ENTRY_UNK2 != 1
Print "Strange ENTRY_UNK2 = %ENTRY_UNK2%, may crash..."
EndIf
EndIf
# Extract
Set PATH EXTRACT_BLOCK_BASE_PATH
String PATH += "/"
String PATH += ENTRY_ID
Set OFFSET ENTRY_OFFSET_IN_BLOCKS
Math OFFSET *= ENTRY_BLOCK_SIZE
Log PATH OFFSET ENTRY_SIZE
Next I
EndFunction
https://blog.gib.me/
Don't ask me about localization tools; if you don't have the resources to develop them yourself you don't need them.
Don't ask me about localization tools; if you don't have the resources to develop them yourself you don't need them.
-
- advanced
- Posts: 47
- Joined: Thu Apr 15, 2010 7:16 am
- Has thanked: 3 times
- Been thanked: 13 times
Re: Assassins Creed PC .forge files
That would unpack the file but it wouldn't do anything about all the subtypes I listed. I'll look at the app you mentioned to see if it does...
ww2ogg looks like it will only handle the RIFF WAVE files which is useful but, from the looks of it, that is only like 2% of the PAK files. There's a whole lot more there.
ww2ogg looks like it will only handle the RIFF WAVE files which is useful but, from the looks of it, that is only like 2% of the PAK files. There's a whole lot more there.
Re: Assassins Creed PC .forge files
Uh, huh? subtypes? the "subtypes" you're talking about are part of the WWise format stuff, and are not really interesting (except where the RIFF data is embedded), those are mostly in the "1" directory. I converted all of the "2" directory with ww2ogg with no issues (or most of, don't recall, I think the only exception were already wav format?).FordGT90Concept wrote:That would unpack the file but it wouldn't do anything about all the subtypes I listed. I'll look at the app you mentioned to see if it does...
ww2ogg looks like it will only handle the RIFF WAVE files which is useful but, from the looks of it, that is only like 2% of the PAK files. There's a whole lot more there.
https://blog.gib.me/
Don't ask me about localization tools; if you don't have the resources to develop them yourself you don't need them.
Don't ask me about localization tools; if you don't have the resources to develop them yourself you don't need them.
-
- advanced
- Posts: 47
- Joined: Thu Apr 15, 2010 7:16 am
- Has thanked: 3 times
- Been thanked: 13 times
Re: Assassins Creed PC .forge files
It is block 1 that has all the BKHD, DIDX, HIRC, STMG, DATA, etc. subtypes. So block 1 apparently contains a sort of compiled script and block 2 contains the audio?
I wouldn't say block 1 isn't interesting because it is. I never seen a file format that uses names like that to define what is following. Is it worth investigating further? Probably not because there is little to gain by doing so.
I wouldn't say block 1 isn't interesting because it is. I never seen a file format that uses names like that to define what is following. Is it worth investigating further? Probably not because there is little to gain by doing so.
Re: Assassins Creed PC .forge files
It's actually quite a common method.FordGT90Concept wrote:I never seen a file format that uses names like that to define what is following.
http://en.wikipedia.org/wiki/Interchange_File_Format
It's WWise related data (soundbank information, etc). Some of the files in the 1 directory have some sound data but otherwise it's nothing interesting if you just want to get sound files.FordGT90Concept wrote:Is it worth investigating further? Probably not because there is little to gain by doing so.
https://blog.gib.me/
Don't ask me about localization tools; if you don't have the resources to develop them yourself you don't need them.
Don't ask me about localization tools; if you don't have the resources to develop them yourself you don't need them.
-
- advanced
- Posts: 47
- Joined: Thu Apr 15, 2010 7:16 am
- Has thanked: 3 times
- Been thanked: 13 times
Re: Assassins Creed PC .forge files
Learn something new everyday.
Oh, right, there are some RIFFs in block 1. I think that's what I'll try to do: extract all RIFFs from both blocks.
Oh, right, there are some RIFFs in block 1. I think that's what I'll try to do: extract all RIFFs from both blocks.
-
- advanced
- Posts: 47
- Joined: Thu Apr 15, 2010 7:16 am
- Has thanked: 3 times
- Been thanked: 13 times
Re: Assassins Creed PC .forge files
I extracted 29,478 RIFF files out of block 2 and all successfully converted to OGG with ww2ogg.exe. Most of the music is in the sfx file.
Edit: Extracted 3,178 RIFF files out of block 2 (BKHD) of sounds_eng.pck and had a listen to 6 of them: two were a fire crackling, two were a horses galloping (different speeds), one was something creeking loudly, and the last one was the voice overs for one of the major plot speeches by the main character. Not too likely to find any music in those so I think my pck research ends there.
Edit: Extracted 3,178 RIFF files out of block 2 (BKHD) of sounds_eng.pck and had a listen to 6 of them: two were a fire crackling, two were a horses galloping (different speeds), one was something creeking loudly, and the last one was the voice overs for one of the major plot speeches by the main character. Not too likely to find any music in those so I think my pck research ends there.
Re: Assassins Creed PC .forge files
Sort by filesize after converting and the large files should mostly be music. That's how I found the music track I was after.OrangeC wrote:All music is in the Sounds_sfx pck.
https://blog.gib.me/
Don't ask me about localization tools; if you don't have the resources to develop them yourself you don't need them.
Don't ask me about localization tools; if you don't have the resources to develop them yourself you don't need them.
- Tosyk
- double-veteran
- Posts: 1027
- Joined: Thu Oct 22, 2009 10:24 am
- Location: Russia, Siberia
- Has thanked: 269 times
- Been thanked: 154 times
- Contact:
-
- advanced
- Posts: 47
- Joined: Thu Apr 15, 2010 7:16 am
- Has thanked: 3 times
- Been thanked: 13 times
Re: Assassins Creed PC .forge files
Same. There are 4 music tracks in the language files (eng and ita). Either works as they are the same. Other than that, most are in SFX.Rick wrote:Sort by filesize after converting and the large files should mostly be music. That's how I found the music track I was after.OrangeC wrote:All music is in the Sounds_sfx pck.