This is a customized version of Lua (5.1.4) that uses 20.12 fixed point instead of double for its number type. The main reason for this change is to speed up arithmetic (the DS doesn’t have an FPU). Keep in mind that the change in number format limits the usable range to [-219, 219)
Included in the tools folder are a replacement math lib which uses lookup tables for trig functions and a Haskell script. The script takes a sanitized C header file and generates the required code to export those functions as a Lua library.
This new release improves the collision detection system. The old implementation was limited to circle-hitboxes with a maximum size of 64×64. The new system removes the size restriction and adds support for line-segment collision shapes as well as using multiple collision shapes per object. Basically it’s now possible to create lasers and very large objects.
The most important change for this version is the move to LUA for the main scripting language. The old scripting language was fast but limited. The performance overhead of LUA is larger, but the extra functionality and ease of use are worth it.
In addition to the internal engine changes, a practice mode has been added which lets you play any unlocked stage.
– On-screen keyboard was broken.
– Added support for writing scripts in LUA.
– Update to tools (new TextureConverter & repository creation tool).
– Improved collision system which lifts the maxsize=64×64 restriction and
gives a choice between line-segment and circle collision shapes.
– Added sixth stage + new playable character.
– Added the option to change starting lives.