This is thread not for cheats, but for getting every file extracted and reverse engineer most important files.
Don't upload anything here that can be treated as legal property (clean textures and meshes especially).
ROMFS
romfs has five types of files:
.wem - single audio WWise file
.bnk - container with multiple audio WWise files
.wai - WWise file containing informations about audio files
.bk2 - bink video format
.pkz - zstd archives containing table, file names and data.
.pkz can be unpacked with this QuickBMS script (made by xentax user - link)
PKZ archive
And what we can get from it:
.bin - strings used in game like characters names or dialogues, unreadable in current state
.bnvib - vibrations data
.dat - uncompressed archives made with table, file names and data.
.dtt - as .dat, but made for purpose of separating bigger files from .dat for faster loadings, for example .wtp files
.eff - effect files (whatever that means)
.evn - .dat structure
.vat - vertex animation texture
.vfd - vectorfield data
.wta - contains informations about textures in .wtp and properties of models
.wtp - textures container
.wtb - unknown
.epb - unknown
DAT archive
For unpacking DAT type archives, you can use this script (without proper filenames):
in DAT files we can find (based on real filenames, not guessed by quickbms script above):
.bnk - archive for WWise audio files
.col - properties of models/textures
.csv - file containing binary data and some comma-separated values
.evn - .dat structure
.ftb - contains informations about font
.ktb - contains informations about font
.mtg - MessageTagSetting
.sar - XML binary file
.wmb - mesh
.wta - contains informations about textures in .wtp and properties of models
.wtp - container for textures
.bxm - unknown
.eft - unknown
.epb - unknown
.est - unknown
.gad - unknown
.hkx - unknown
.mot - unknown
.pso - unknown (shader related)
.seq - unknown
.sop - unknown
.uvd - unknown
.uid - unknown
.vso - unknown (shader related)
I was trying to get little fun with exefs and I found 2 things that maybe someone will be interested to dig more (they are breaking function, so expect game to unexpectedly crash just in case):
Based on 1.0.1 version of game
Coloring some texts (I didn't test if this is related to color GUI)
Blocking loading informations about Police Station (so no walls made by map, only wall limiting whole scene) and audio related to it
If someone will find more info about how to open prioprietary files, I will add it next to file type.
Don't upload anything here that can be treated as legal property (clean textures and meshes especially).
ROMFS
romfs has five types of files:
.wem - single audio WWise file
.bnk - container with multiple audio WWise files
.wai - WWise file containing informations about audio files
.bk2 - bink video format
.pkz - zstd archives containing table, file names and data.
.pkz can be unpacked with this QuickBMS script (made by xentax user - link)
Code:
# Astral Chain . pkz extract
# By Dave, 2019
IDString "pkzl"
ComType ZSTD
Goto 0x10
Get ITEMS Long
Get FILE_ENTRY Long
XMath NAME_TABLE "FILE_ENTRY + (ITEMS * 0x20)"
For A = 1 to ITEMS
Goto FILE_ENTRY
Get NAME_OFFSET Long
Get JUNK Long
Get SIZE Long
Get JUNK Long
Get OFFSET Long
Get JUNK Long
Get ZSIZE Long
Math NAME_OFFSET + NAME_TABLE
Goto NAME_OFFSET
GetDSTring FILENAME 0x10
Clog FILENAME OFFSET ZSIZE SIZE
# Log FILENAME OFFSET ZSIZE # Use this line to get compressed output instead
Math FILE_ENTRY + 0x20
Next A
PKZ archive
And what we can get from it:
.bin - strings used in game like characters names or dialogues, unreadable in current state
.bnvib - vibrations data
.dat - uncompressed archives made with table, file names and data.
.dtt - as .dat, but made for purpose of separating bigger files from .dat for faster loadings, for example .wtp files
.eff - effect files (whatever that means)
.evn - .dat structure
.vat - vertex animation texture
.vfd - vectorfield data
.wta - contains informations about textures in .wtp and properties of models
.wtp - textures container
.wtb - unknown
.epb - unknown
DAT archive
For unpacking DAT type archives, you can use this script (without proper filenames):
Code:
idstring "\x44\x41\x54\x00"
get filecount long
get TABLE_OFFSET long
GET FILE_FORMAT_TABLE long
GET FILENAMES_OFFSET long
set NAME ""
GoTo TABLE_OFFSET
get SIZE_LAST_FILE asize
for x = 1 < filecount
get offset long
get size long
math size - offset
log NAME offset size
set NAME ""
math TABLE_OFFSET + 4
GOTO TABLE_OFFSET
next x
get offset long
math SIZE_LAST_FILE - offset
set NAME ""
log NAME offset SIZE_LAST_FILE
in DAT files we can find (based on real filenames, not guessed by quickbms script above):
.bnk - archive for WWise audio files
.col - properties of models/textures
.csv - file containing binary data and some comma-separated values
.evn - .dat structure
.ftb - contains informations about font
.ktb - contains informations about font
.mtg - MessageTagSetting
.sar - XML binary file
.wmb - mesh
.wta - contains informations about textures in .wtp and properties of models
.wtp - container for textures
.bxm - unknown
.eft - unknown
.epb - unknown
.est - unknown
.gad - unknown
.hkx - unknown
.mot - unknown
.pso - unknown (shader related)
.seq - unknown
.sop - unknown
.uvd - unknown
.uid - unknown
.vso - unknown (shader related)
I was trying to get little fun with exefs and I found 2 things that maybe someone will be interested to dig more (they are breaking function, so expect game to unexpectedly crash just in case):
Based on 1.0.1 version of game
Coloring some texts (I didn't test if this is related to color GUI)
Blocking loading informations about Police Station (so no walls made by map, only wall limiting whole scene) and audio related to it
If someone will find more info about how to open prioprietary files, I will add it next to file type.
Last edited by masagrator,