Decompile
Convert BF and BMD into flowscripts and messagescripts
As previously mentioned, AtlusScriptCompiler can decompile .BF
and .BMD
into .FLOW
and .MSG
respectively. This allows us to view scripts in plain text and edit to our liking.
1. Specifying the Input File
First, you must tell the program what file we're working with.
For decompiling, this must be a .BF
or .BMD
file.
You can simply drag AtlusScriptCompiler.exe
and then input.bmd
onto the command prompt window.
This will automatically wrap each paths in quotes, which keeps arguments separate in case your paths contain spaces.
2. Specify that you are Decompiling
Now, let's tell the program what to do with that file.
Add -Decompile
, separated by a space.
2. Specifying the Library
A Flowscript Library instructs the compiler on function names and parameters.
In order to work with the input file, you have to tell the compiler which Library to use with -Library
.
Included Libraries
Library Name
Usage
DigitalDevilSaga
-Library
DDS
Nocturne
-Library
SMT3
Persona3
-Library
P3
Persona3FES
-Library
P3FES
Persona3Portable
-Library
P3P
Persona4
-Library
P4
Persona4Golden
-Library
P4G
Persona5
-Library
P5
Persona5Royal
-Library
P5R
PersonaQ2
-Library
PQ2
Not all games have libraries available. Knowledge of reverse engineering game executables is required to generate a library, as you'll have to find the offsets of function signatures yourself. A sample script for dumping that data from P3/P4 (PS2) can be seen here.
3. Specifying Encoding
An Encoding can be specified using -Encoding
.
It lets the compiler know what set of characters to use.
Encodings
Game Name
Usage
Persona 5
-Encoding
P5
Persona 4
-Encoding
P4
Persona 3 (FES)
-Encoding
P3
PersonaQ(2) or any game using Shift-JIS/CP932
-Encoding
SJ
5. Specifying the Output File
Finally, you can name the Output File using -Out
.
If -Out
is not specified, it will default to the input filename and folder, but with the output filetype appended. In this case, that would be C:\Path\To\input.bmd.msg
.
Conclusion
At this point, you can press Enter
to begin decompiling.
To learn how to put a new or edited script back in the game, keep reading.
Last updated