Batch Dump .FLOW/.MSG

Locally searchable decompiled script dumps

TGE's Atlus-Script-Tools repository comes with other commandline programs aside from just AtlusScriptCompiler. AtlusFlowScriptExtractor and AtlusMessageScriptExtractor, as their names imply, batch decompile all .FLOW and .MSG data from .BF and .BMD in a directory (and subdirectories), even ones contained in archives like .PAC.

You'll end up with .TXT files containing all of the dumped data. While the ShrineFox.com Text Search provides these advantages, it's also nice to have a local dump on your computer to search and use as a reference.

Using AtlusFlowScriptExtractor

Enter the path to AtlusFlowScriptExtractor.exe in the Windows Command Prompt.

Microsoft Windows [Version 10.0.22000.120]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Username>"C:\Path\To\AtlusFlowScriptExtractor.exe"

Then, enter the path to the directory you want to scan. Ideally, this should be a folder containing the extracted contents of your data.cpk and ps3.cpk. You can use CriPakGUI to extract these if you haven't already.

C:\Users\Username>"C:\Path\To\AtlusFlowScriptExtractor.exe" "D:\Games\Persona\Backups\Persona 5"

From here, there's optional arguments we can add for different results.

Argument

Info

-enc

Determines which text encoding is used. If no enc directive is provided, non-ASCII code points will be output as hex values

-func

Enables the output of function codes. Disabled by default

-scan

Enables bruteforce scanning for message script data if file type is not detected (CAN BE VERY SLOW)

-noalign

Disables 4 byte alignment for scanning. Not recommend unless you're sure the file contains text that doesn't get detected (ULTRA SLOW)

-exclude

Excludes specified file extensions from brute force scanning.

-include

Includes specified file extensions in brute force scanning.

-dec

Uses decompiler output instead

of the regular output.

Here's the options I went with, since I wanted to output with decompiler formatting, since I'm working with flowscripts and it'd make a handy 1:1 reference. I also skip large files that for sure don't contain script data (.GMD, .GAP, .GFS, .GSC, .USM, .EPL, .ENV...)

C:\Users\Username>"C:\Path\To\AtlusFlowScriptExtractor.exe" "D:\Games\Persona\Backups\Persona 5" -dec -scan -exclude usm gmd gap gfs epl env spr spd plg adx gsc acb awb dds bed bcd evt bfl 000 001 dat cmr bmd

This process can take quite some time, so sit back and relax until you have a complete AtlusFlowScriptExtractorOutput.txt file.

Using AtlusMessageScriptExtractor

Pretty much the same as above.

C:\Users\Username>"C:\Path\To\AtlusMessageScriptExtractor.exe" "D:\Games\Persona\Backups\Persona 5" -dec -enc p5 -scan -exclude usm gmd gap gfs epl env spr spd plg adx acb awb dds bed bcd evt bfl 000 001 dat cmr

This process can take quite some time, so sit back and relax until you have a complete MessageScriptDump.txt file.

Last updated