Coder Social home page Coder Social logo

iemnur / atlus-script-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tge-was-taken/atlus-script-tools

0.0 0.0 0.0 4.7 MB

A set of tools for working with scripts used in various game developed by Atlus.

License: GNU General Public License v3.0

C++ 2.86% Python 2.45% C 0.35% C# 90.76% Assembly 0.08% ANTLR 0.58% Batchfile 0.09% SWIG 2.83%

atlus-script-tools's Introduction

Atlus Script Tools Build status

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.

Latest build:

Overview of repository structure

Source

  • This is the source code directory of the project. This is where the main solution and its projects are.

AtlusScriptLibrary

  • 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.

AtlusScriptCompiler

  • 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)

AtlusScriptEvaluator

  • 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

Utilities

  • This is where misc utility programs using the library will be stored. Also serves as a reference for anyone wanting to use the library.

AtlusMessageScriptExtractor

  • 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.

AtlusFlowScriptExtractor

  • 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.

AtlusFlowScriptInterpreter

  • WIP interpreter for flow scripts. Not suitable for use yet.

packages

  • Nuget packages.

Documents

  • This directory contains all kinds of documents to serve as documentation for the file formats, and other things such as reversed engineered game code.

Scripts

  • This is where any misc. scripts will be stored, for the sake of keeping everything safe from being lost. ¯_(ツ)_/¯

Build

  • Not visible on the repo but this is where all of the binaries will compile to.

What's finished?

Finished

  • Reading and writing of flow & message script files.
  • Simplified representation of both flow & message script files.

Somewhere inbetween

  • 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.

Unfinished

  • AtlusScriptEvaluator
    • 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.

atlus-script-tools's People

Contributors

animatedswine37 avatar asvel avatar captainswag101 avatar codedrubychan avatar deathchaos25 avatar dependabot[bot] avatar dniwetamp avatar phoenix-neat avatar secre-c avatar shrinefox avatar tekkagb avatar tge-was-taken avatar zarroboogs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.