(guides assume you're on Windows)
- download REtool
- download Ghost Trick filepath list
retool -h GTPD_PC_Release.list -x re_chunk_000.pak
primer:
- Ghost Trick runs on Capcom's RE Engine. REtool is an unofficial tool for dealing with the engine's file formats
- all resources are stored in a big file named
re_chunk_000.paklocated in the game's installation directory (which is accessible in steam through [right click] > Manage > Browse local files) - unlike a typical archive format like .zip/.rar/.7z, .pak files don't have filenames plainly stored in a way that REtool can reliably retrieve, so you also need to give it a list of names to read from so it knows what to name the things it's extracting. if you don't, you'll be stuck with a bunch of files without discernable names and your life will become harder
what to do:
- download RETool from the link above and extract
REtool.exeto the game's installation directory (the same folder asre_chunk_000.pak) - download the filepath list from the link above, into the same folder
- open a command prompt in that folder. there are a billion ways to do this but the easiest way is typing
cmdinto the address bar in file explorer - type
retool -h GTPD_PC_Release.list -x re_chunk_000.pakto extract everything. when it's done there'll be a folder namedre_chunk_000with all the stuff - you'll notice there are still hundreds of files without proper names (that look something like
15349567-2389623703.bin). this is normal and most of those files are unimportant/not unique to Ghost Trick, so you can ignore them. it happens because the list we passed to REtool has most but not all filenames, so anything missing will end up with a name like that
(everything here assumes you've just done all the things above)
- type
for /r %f in (*.tex.*) do retool -tex %f. this will recursively convert every .tex file to .dds, which is readable by image editing programs like paint.net
- they're just .wav files with an extra header in front. you have two options:
- if you have Python installed, run this script to convert to and from the format
- open up a hex editor (e.g. HxD) and remove the first 78 (0x4e) bytes, then change the file extension to .wav
- they're just .wmv files. change the file extension to .wmv and you're set
- except for
natives/stm/streaming/movie/igt_op_480x320_500kbps.mov.1, that's an .mp4
- download REMSG_Converter, and type
for /r %f in (*.msg.*) do remsg_converter %fto convert recursively to .csv, which you can open in excel or any text editor. add-m jsonto use json instead
- these are encrypted OpenType and TrueType font files. you can encrypt/decrypt them using REE.FontsCryptor from the REE.PAK.Tool repository (as of writing binaries aren't provided, you'll have to build it yourself)
- you can use the RE_RSZ 010 Editor template to read and edit these
(this is a non-exhaustive list)
- facepics/portraits:
natives/stm/charfiles/3d/08_face - backgrounds:
natives/stm/charfiles/2d/02_bg - character animations:
natives/stm/charfiles/2d/01_human - object animations:
natives/stm/charfiles/2d/03_gimmick - ui:
natives/stm/charfiles/3d/06_id
- bgm:
- remastered:
natives/stm/streaming/sound/bgm_new - original:
natives/stm/streaming/sound/bgm_resource
- remastered:
- sound effects:
natives/stm/streaming/sound/se_resource
- cutscenes:
natives/stm/streaming/gui/ui010500/tex - unused trailer:
natives/stm/streaming/movie
- it's all in
natives/stm/gamedesign/text
- they're in
natives/stm/gui/font/outlinefont
- Junkyard -
st01 - Pigeon Man's Office -
st02 - Prison -
st03 - The Chicken Kitchen -
st04 - Lady's Red Apartment -
st05 - Lynne's Apartment -
st06 - Kamila's Old House -
st07 - Office of the Troubled Man -
st09 - Drive to Chicken Kitchen -
st10 - Special Investigation Unit -
st11 - Temsik Park -
st13 - The Yonoa -
st14 - Prologue & Credits -
st15
- Sissel (human) -
cicel - Sissel (cat) -
neko(猫, lit. "cat") - Lynne -
linne - Ray -
kuneri - Nearsighted Jeego -
killera - Commander Sith -
sisu - Masked Muscleman -
migi(右, lit. "right") - "One Step Ahead" Tengo -
killerb - Kamila -
girl - Missile -
pome("pome[narian]") - Emma -
fujin(婦人, lit. "madam") - Amelie -
eimin(永眠, lit. "death") - Justice Minister -
daijin(大臣, lit. "minister") - Detective Mccaw -
keijig(刑事, lit. "detective g[reen]") - The Blue Detective -
keijib(刑事, lit. "detective b[lue]") - Odd Blue Doctor -
doc - Inspector Cabanela -
kaba - Detective Rindge -
caron - Guardian of the Park -
birakubari(ビラ配り, lit. "handing out leaflets") - Pigeon Man -
kanri(管理, lit. "management") - Chicken Kitchen Cook -
cock - Typical Cop -
keikan(警官, lit. "policeman") - Officer Bailey -
keibia(警備, lit. "guard a") - Rock Jailbird -
rock - Curry-loving Jailbird -
shujinb - Detective Jowd -
jodo - SIU Chief -
bucho(部長, lit. "department head") - Memry -
waitress - Dandy -
yukaib - Beauty -
yukaia - Chicken Kitchen Bartender -
barten("barten[der]") - Alma -
mama - Minor Crew Hand -
zako(雑魚, lit. "small fry")
- Fluffy Mod Manager - mod manager for RE Engine games (for modifying assets)
- REFramework - scripting and mod framework (for modifying game logic)




I tried to play around a bit with modding the BGM files, thanks to your .asrc Python script. Here is what I figured out so far, though I have yet to replace any BGM.
Below is an example encoding from cmd (script is placed in the same folder as the audio file), using the bgm01 remastered track, so this should give back the same thing as the original .asrc.26 file:
python asrc.py e -bgm -ls 395447 393550592 bgm01_new.wavIf I understood the help instructions right...
-bgmis for background music, this is probably not to be used with sound effects and other audio that is not of this nature.-lsis to define the starting loop point sample (also the track should be cut exactly where the looping end sample/point should be).After that, next is the audio id, which was unspecified how to get. A hex editor is needed now to take a peek in the original .asrc.26 file... After some trial and error, this should probably reflect the original's track ID at block(h) 14-18? And then we need to read the UInt32 value with a hex editor, and provide that. For example, the audio source id for "bgm01_new.asrc.26" is "393550592"
I also figured out how to read the start loop sample. Block(h) 2D-2F is what contains that. To do this manually, this online converter helps.
At "DEC <-> HEX CONVERTER", Tick "LITTLE ENDIAN", and copy the hex bytes after the offset 2C (starting from 2D) until 2F. As I said, this should be the block 2D-2F. Then click on "HEX to DEC" button and use the decimal value. So for the original "bgm01_new.asrc.26", the looping start point would be 395447 (B70806). I tested if that loops properly, and it seems to do so.
Finally, the song's overall length in samples is 3603581. This is read at offset(h) 31, and through UInt32 value + 1.
Any idea on how to repack modded files for this game? Do you need to do it to the big
re_chunk_000.pakor can you use a custom pak file? A custom pak file would be better to leave the original game data intact. (re_chunk_000.pak.patch_001.pak? Though I'm not sure if the engine would recognize that in this game. Or if that requires another custom tool or isREtoolenough? If so, any examples? Not familiar with RE Engine.)