WIP set of tools developed for handling Atlus' script formats including
- flow script files (.bf)
- message script files (.bmd)
All of the code is written in C# and licensed under the GNU GPL.
Overview of repository structure
- This is the source code directory of the project. This is where the main solution and its projects are.
- This is the main class library of the project. All of the core functionality will be implemented here, with the other programs serving as a front-end.
- The commandline frontend for the script compiler. This application is used for
- Compiling & decompiling flow scripts from/to the uncompiled format (.flow) or from/to compiled format (.bf)
- Compiling & decompiling flow bytecode code from/to the uncompiled format (.asm) or from/to the compiled format (.bf)
- Compiling & decompiling message scripts from/to the uncompiled format (.msg) or from/to the compiled format (.bmd)
- Compiling & decompiling message bytecode from/to the uncompiled format (.asm) or from/to the compiled format (.bmd)
- This application is used for
- Evaluating compiled or uncompiled flow scripts (.bf & .flow) and providing statistics
- Evaluating compiled or uncompiled message scripts (.bf & .flow) and providing statistics
- This is where misc utility programs using the library will be stored. Also serves as a reference for anyone wanting to use the library.
- This application is can batch extract the text from message scripts from within various binary files. Use this is if you want a quick dump of the text from a game.
- Similar to the previous program, it can batch extract scripts from within various binary files. Use this is if you want a quick reference of all the scripts used in a game.
- WIP interpreter for flow scripts. Not suitable for use yet.
- Nuget packages.
- This directory contains all kinds of documents to serve as documentation for the file formats, and other things such as reversed engineered game code.
- This is where any misc. scripts will be stored, for the sake of keeping everything safe from being lost. ¯_(ツ)_/¯
- Not visible on the repo but this is where all of the binaries will compile to.
- Reading and writing of flow & message script files.
- Simplified representation of both flow & message script files.
- Decompilation and compilation of message scripts. They're both missing an implementation of function aliases, but besides that they work.
- Compilation of flow scripts. The compiler is currently able to compile some decently complex scripts, but some things still need to be worked on.
- Evaluating compiled or uncompiled flow scripts (.bf & .flow) and providing statistics such as syntax errors or stack over or underflows.
- Evaluating compiled or uncompiled message scripts (.bmd & .msg) and providing statistics. Not sure what kind of statistics would really work here though.