After years of being idle in the AutoPlay Media Studio world something triggered my interest in AMS again.
This is why I decided to have a weekend project for the few people remaining on these forums.
autoplay2c
autoplay2c is a utility for AMS8 users or Lua 5.1 developers on 32-bit Windows based systems. This tool is
capable of transpiling (translating/compiling) Lua 5.1 to a Lua Abstract Syntax Tree (AST). It then translates that
AST into a C AST, which can be used to generate C source code. autoplay2c will then compile that source
code into a DLL, specifically a Lua module. The module can then be loaded like any other Lua module.
When a .autoplay project file is chosen as input file, all the source code in that project will be collected and
converted to a single large Lua module. That large Lua module is then compiled as DLL. A copy of the
AMS project file is stored containing only calls into the compiled Lua module, but the original source code
is gone as it was translated to Lua API calls rather than Lua VM instructions.
There is support for version information, your resulting binary will have your own version information.
disclaimer: this is not code encryption or obfuscation, it's a full translation of Lua to C. This means that
your original code might not always work. Coroutines are not supported. Read more about the limitations
in the application help dialog. Huge Lua scripts might require a custom Lua version with a very large
LUAI_MAXCCALLS value, as all calls will happen on the C side of Lua rather than the Lua side.
read the help topics that are accessible from within the main application!
More information and downloads
This is why I decided to have a weekend project for the few people remaining on these forums.
autoplay2c
autoplay2c is a utility for AMS8 users or Lua 5.1 developers on 32-bit Windows based systems. This tool is
capable of transpiling (translating/compiling) Lua 5.1 to a Lua Abstract Syntax Tree (AST). It then translates that
AST into a C AST, which can be used to generate C source code. autoplay2c will then compile that source
code into a DLL, specifically a Lua module. The module can then be loaded like any other Lua module.
When a .autoplay project file is chosen as input file, all the source code in that project will be collected and
converted to a single large Lua module. That large Lua module is then compiled as DLL. A copy of the
AMS project file is stored containing only calls into the compiled Lua module, but the original source code
is gone as it was translated to Lua API calls rather than Lua VM instructions.
There is support for version information, your resulting binary will have your own version information.
disclaimer: this is not code encryption or obfuscation, it's a full translation of Lua to C. This means that
your original code might not always work. Coroutines are not supported. Read more about the limitations
in the application help dialog. Huge Lua scripts might require a custom Lua version with a very large
LUAI_MAXCCALLS value, as all calls will happen on the C side of Lua rather than the Lua side.
read the help topics that are accessible from within the main application!
More information and downloads
Comment