LunaLua

From Moondust Wiki
Jump to navigation Jump to search
LunaLua

LunaLUA-logo.svg

Developer:
Platforms: SMBX Engine on Windows (Before 0.7.3.1)
SMBX2 (Since 0.7.3.2)
Initial release:
Latest version: Beta 0.7.3.1
Since 0.7.3.2 a part of SMBX2
Latest testing:
End of life:
Coded in: C++
Code model:
License:
State: Actual
Download:
Source code: On the GitHub
Official site: Official forum topic

LunaDLL with Lua (shortened to LunaLua) is a free and open source extension framework written by Kevsoft for the legacy SMBX Engine. The first version has been released in September 15, 2014. LunaLua contains patches, fixes, improvements and adds support for scripting with the scripting language Lua. The library is based on LunaDLL for added flexibility to the code and support for powerful modifications.

For the sake of backwards compatibility, it is also able to read old LunaTXTs. LunaLua supports custom APIs. Several custom libraries released for LunaLua such as CinematX (to create custom cunscenes) exist.

Since 0.7.3.2, LunaLua is developing as a core part of SMBX2 project.

Additional Features

LunaLua not only adds Lua scripting subsystem, it also provides patches, improvements and fixes for the legacy SMBX Engine:

  • Increases performance.
  • Fixes some bugs.
    • npc-*.txt with decimal numbers will no longer crash SMBX with "runtime error 13".
    • Fixed random crash caused by mushrooms contacting with lava blocks.
    • Fixes crash caused by Mario entering a warp pipe when Venus Piranha Plant shoots fire.
  • OpenGL render support.
  • SMBX's audio engine has been replaced with a better and more flexible SDL2_mixer (then upgraded to SDL Mixer X) library which also gives SMBX internal support for additional music formats.
  • Support for PNG sprites as CGFX (through a FreeImage library).
  • Added Moondust sounds.ini and music.ini support which provides the ability to have custom music (including world map music) and custom sound effects per episode.

The Team

  • Lead Developers: Rednaxela (LunaLua Development and OpenGL Engine)
  • Support Developer: Wohlstand (Sound/Music Engine, File formats, and various misc. things)
  • Retired Developer: kil3 (Creator of the original LunaDLL), Kevsoft (Creator of LunaLua)

Facts

  • For a some time, LunaLua packages had to use "SMBX 1.3.0.2" version. Here is a reason: probably in 2015'th year, Wind made an April Fools joke that "SMBX 1.3.0.2" was out, but in fact, it contained a slightly modified EXE and a "LOL" level in the world map. Later, this "1.3.0.2" version was been used with a LunaLua-SMBX equipped hexed executable.

References

Super Mario Bros. X