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.
1
C:\Users\Username>"C:\Path\To\AtlusScriptCompiler.exe" "C:\Path\To\input.bmd"
Copied!
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.
1
C:\Users\Username>"C:\Path\To\AtlusScriptCompiler.exe" "C:\Path\To\input.bmd" -Decompile
Copied!

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.
1
C:\Users\Username>"C:\Path\To\AtlusScriptCompiler.exe" "C:\Path\To\input.bmd" -Decompile -Library P5
Copied!

Included Libraries

Library Name
Usage
DigitalDevilSaga
-LibraryDDS
Nocturne
-LibrarySMT3
Persona3
-LibraryP3
Persona3FES
-LibraryP3FES
Persona3Portable
-LibraryP3P
Persona4
-LibraryP4
Persona4Golden
-LibraryP4G
Persona5
-LibraryP5
Persona5Royal
-LibraryP5R
PersonaQ2
-LibraryPQ2
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.
1
C:\Users\Username>"C:\Path\To\AtlusScriptCompiler.exe" "C:\Path\To\input.bmd" =Decompile -Library P5 -Encoding P5
Copied!

Encodings

Game Name
Usage
Persona 5
-EncodingP5
Persona 4
-EncodingP4
Persona 3 (FES)
-EncodingP3
PersonaQ(2) or any game using Shift-JIS/CP932
-EncodingSJ

5. Specifying the Output File

‌Finally, you can name the Output File using -Out.
1
C:\Users\Username>"C:\Path\To\AtlusScriptCompiler.exe" "C:\Path\To\input.bmd" -Decompile -Library P5 -Encoding P5 -Out "C:\Path\To\output.msg"
Copied!
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 Enterto begin decompiling.
To learn how to put a new or edited script back in the game, keep reading.