LunaDll - хакерский мод-расширение для игры Super Mario Bros. X, созданный участником сообщества Talkhaus, Kil, с целью расширить возможности движка. Впервые представлен 9 мая 2013 года.
9 мая 2013 года, пользователь kil3 выпустил в свет хакерский модуль, который рашриряет возможности движка Super Mario Bros. X. Позже, этот модуль был назван «LunaDll» (имя происходит от названия уровня - «Luna Tower», который создал Kil для «Прелюдии Глупости»). С помощью DLL-инъекции, он заставляет игру загружать сторонний код из созданного им DLL-модуля. В ранних версиях имелось всего два перехвата: на загрузке уровня, и на каждый кадр во время работы уровня. Позже был реализован собственный скриптовой язык, названный «Автокодом», который позволяет вносить различные модификации в игру. Более сложная логика писалась на C++ непосредственно и выстраивалась в сам модуль-расширение, загружаясь в зависимости от имени файла уровня. Практически все подобные подмодули были созданы в рамках проекта «Аналогового Фанка», за исключением одного уровня, созданого к первому конкурсу «Make a Good Level», и то не используемого.
В конце 2014 года, Kevsoft реализовал поддержку скриптовой системы на языке lua, из-за чего модуль был переименован в LunaLua, а встроенный язык «Автокод» был признан устаревшим.
Начиная с 30 января 2022 года, поддержка языка «Автокод» была реализована в последней тестовой сборке движка TheXTech в качестве штатной части движка с целью запускать старые проекты, созданные с использованием оригинального LunaDll, на движке TheXTech. В отличии от оригинального LunaDll, реализация на базе движка TheXTech (названная как «LunaScript») является встроенной и платформонезависимой частью самого движка, а не сторонним модулем, вклиниваемым извне.
Из-за принципиального различия структуры памяти оригинального SMBX и TheXTech, все функции, работающие с памятью, эмулируются, что позволяет скриптам «думать», что они по прежнему работают с памятью SMBX, но на деле, все известные адреса памяти сопоставлены с внутренними переменными и обновлённой структурой TheXTech. Это также позволяет запускать игры даже на процессорах отличных от x86 и имеющих другой порядок байт (например, на PowerPC или на MIPS). Возможности работы с памятью сильно ограничены встроенными в движок таблицами правил, эмулирующих память движка Super Mario Bros. X. Это сделано из соображений упрощения, безопасности, а также следованием цели поддерживать старые проекты, нежели создавать новые на основе «Автокода», что в прочем тоже применяется как временная мера до тех пор, пока не будет реализована полноценная скриптовая система на языке lua.
На базе оригинального модуля LunaDll было выпущено по крайней мере два проекта по вселенной A2XT.