LunaDLL Autocode



LunaDLL Autocode is the language used by LunaDLL to execute simple commands. These commands are written in a "assembly-like" language and saved in a file "lunadll.txt" located in the level folder, and "lunaworld.txt" for episode folder, and also save the file in the main projects folder "lunaglobal.txt" which executes these codes in every level. Autocode is not Turing complete language and lacks many generic and common features.

Since 30th of January, now implemented in the latest Dev Build of TheXTech as native part.

Here you can find information about

 * Getting started with LunaDLL
 * LunaDLL Autocode Reference
 * How to download, install and use LunaDLL with the original SMBX game (by Veudekato)

Differences of TheXTech implementation

 * The sub-system is called "LunaScript version 9" at TheXTech.
 * Doesn't require the installation: the sub-system is the native embedded part of the engine itself.
 * Can work on non-Windows operating systems and on non-x86 processors.
 * It doesn't provide direct memory access because of binary incompatibility. Instead, TheXTech has the abstract layer (called "memory emulator") that maps direct memory addresses at scripts into actual native fields of TheXTech with the proper raw type conversion. It won't cover all SMBX's internals, except for well-known addresses used in released episodes.
 * Allows comments placed at the end of code lines.
 * Introduces some new commands such as OnEvent, CancelSMBXEvent, SFXPreLoad, etc.
 * SFX command is able to play more sound formats such as OGG, FLAC, MP3, VOC, etc.
 * LoadImage command is able to load PNG and GIF with native transparency and alpha-channel, and JPEG and BMP with a selected color as a transparent.
 * Variables bank is no longer saving in the episode directory through LunaSavedVarsX.txt files. Instead, variables bank is now written into SAVX gamesave file directly.
 * Death counter no longer works globally. Now, the death counter works for every episode per game save.
 * Has native UTF-8 support for filenames and string data.

Trivia

 * True Autocode is the name of a family of "simplified coding systems", later called programming languages, devised in the 1950s and 1960s for a series of digital computers at the Universities of Manchester, Cambridge and London. Kil wasn't knew that when gave name for it's scripting language in original LunaDLL.