Skip to content

Releases: WohlSoft/LunaLua

LunaLUA v0.7.3.1-beta

14 Dec 11:46
Compare
Choose a tag to compare

LunaLua v0.7.3.1 is finally released.

This version provides an ability to natively run level testing from PGE Editor's call with an ability to quickly restart a level with sending latest in-editor changes, reset checkpoints, toggle playable character, etc.

Here is the changelog:

  • Added non-ASCII paths support! (LunaLUA-SMBX's root finally can be placed into a path with non-ASCII characters. But limit is: don't mix codepages (example: both Russian and Chinese characters in a path, or you will get VB Error "File not found". Same happens on Vanilla SMBX if you have been used non-local characters.))
  • Added a test-mode system which can be controlled by LunaTester inside Windows version of PGE Editor.
  • Added Graphics.getBits32 function which is a fast way to access the bits of an image resource
  • glDraw can draw with scene coordinates (sceneCoords=true as named arg)
  • Added CaptureBuffer class which allows capturing the screen at a specific render priority
  • The max id of Blocks has been increased to 700
  • Added lunabase.lua to LuaScriptsLib which is a global user script file.
  • Overworld sprite can be patched at runtime
  • Added Misc.registerCharacterId which allows registering new characters
  • Added Misc.resolveGraphicsFile which only resolves a file from a custom folder, episode folder or the graphics folder from SMBX.
  • Added Graphics.loadImageResolved which is a handy combination of Graphics.loadImage and Misc.resolveGraphicsFile, with a useful error message if it can't find anything.
  • Added PlayingSfxInstance class which represents a sound
  • Added some new defines
  • Enhanced profile.lua to be useful. Usable by hitting F3 to start and F3 to finish.
  • Add force_disable_fullscreen option to luna.ini because the smbx fullscreen is acting up for some
  • Add Player.getIntersecting

LunaLUA v0.7.3-beta

30 Jan 09:17
Compare
Choose a tag to compare

LunaLua v0.7.3 is finally released.

We are apologize for the long waiting, but there where a lot of critical changes in this version.
Please make sure that your CC12 level is working with this version!

So here is the changelog:

  • Custom images can now be drawn behind SMBX sprites.
  • Hardcoded images can now be patched via hardcoded-*.png
  • Added new compareLunaVersion for version checking
  • Added new event onKeyboardPress which handles raw keyboard input
  • Added new draw function (Graphics.draw [Named args])
  • Added new OpenGL drawing system (Graphics.glDraw [Named args])
  • Added new lua based pause function: Misc.pause, Misc.unpause, Misc.isPausedByLua
  • Improvement [LunaLua]: Refactored mainV2.lua for better performance and smaller code
  • Added new function for better controlling the loop: onTick, onTickEnd, onDraw, onDrawEnd
  • Improvement [LunaLua]: onHUDDraw and onCameraUpdate now has the camera index as argument.
  • Improvement [LunaLua]: onMessageBox can now be cancelled
  • Added FIELD_BOOL which can be used for the mem-functions.
  • Added NPC.get overload with only the npc-id as argument.
  • Bugfix [LunaLua]: SMBX doesn't crash anymore, if you pass nil to some LunaLua functions.
  • Improvement [LunaLua]: The max npc id is now 300
  • Added NPC:harm
  • Bugfix [LunaLua]: Tiles can now correctly be replaced with PNGs.
  • Bugfix [LunaLua]: PlayerSetting.height was pointing to players width
  • Extended Camera class
  • Bugfix [LunaLua]: Cheat defines now don't reset.
  • Added registerCustomEvent, so you can create custom events from your APIs.
  • Added event onCameraUpdate and Camera.x, Camera.y is now writeable.
  • Added a lot of new world map classes.
  • Added Misc.doPSwitchRaw - You can now trigger the raw P-Switch effect.
  • Added Misc.doPSwitch - You can now trigger the full P-Switch effect.
  • Added Misc.doBombExplosion - You can now spawn bomb explosions.
  • Bugfix [LunaLua]: Misc.resolveFile and Misc.resolveDirectory don't crash anymore and works faster now.
  • Bugfix [LunaLua]: Some unreliability of Animation.spawn has been fixed.
  • Bugfix [LunaLua]: Level sounds.ini now works correctly when using from the main game
  • Bugfix [LunaLua]: Hitboxes and offsets are now reset before loading a new level or world
  • Bugfix [LunaLua]: Misc.loadEpisode now works also without Autostart ini file.
  • Added onStart - This event is the better "onLoad". This event will be executed, when SMBX is running the first frame.
  • Fixed music.ini bug which wasn't supported track number suffix for NSF/HES/etc. multi-track musics
  • NPCs can now be killed, even if they are hidden.
  • Add width/height properties to LuaImageResource.
  • Allow onNPCKill to be cancelled.

LunaLUA v0.7.2.2-beta

14 Nov 08:46
Compare
Choose a tag to compare

LunaLua v0.7.2.2 has been released with following changes:

  • Extended NPC class
  • Bugfix [LunaLua]: Fixed Camera.width and Camera.height
  • Bugfix [LunaLua]: Fixed the bug, where the functions Blocks.get and Blocks.getInterseting don't includes the last block.
  • Added onNPCKill event
  • Block can now be spawned with Block.spawn(...)

LunaLUA v0.7.2.1-beta

03 Nov 21:00
Compare
Choose a tag to compare

LunaLua v0.7.2.1 has just been released. This is an important update because it fixes an exploit which manages to run assembler code on your computer through lunadll.txt due to an exploit in the Autocode module.

Additional changes are:
* Extended NPC class
* Added cheat values. Some cheat can now be toggled by value. (Defines.* namespace)
* Added Audio.MusicArtistTag(), Audio.MusicAlbumTag() and Audio.MusicCopyrightTag() functions
* Added console class. You can now use the windows console for debugging. (See LunaLua command arguments at the wiki)
* Hotfix Bugfix [LunaLua]: Fixed ROP exploit at the Autocode module.

LunaLUA v0.7.2-beta

31 Oct 01:05
Compare
Choose a tag to compare

After much wait it is finally here: LunaLua v0.7.2
This version is a big milestone because it fixed some major bugs.

Here is the changelog:

  • Extended Level class and World class (Overworld)
  • Extended Player class
  • Extended Section Class
  • Extended Graphics Namespace
  • Extended Block class
  • Extended NPC class
  • Added Section Namespace (Static functions for Section class)
  • Added some new Defines (Defines.* namespace)
  • Added switch between letterbox-mode (forced 4:3) or scretched-mode via F4
  • Bugfix [LunaLua and SMBX Engine]: Decimal numbers now work perfectly in layer speed and npc codes (Thanks to DarkMecha for testing!)
  • Bugfix [LunaLua and SMBX Engine]: Fullscreen in the level editor works again!
  • Added printTextWP, drawImageWP, drawImageToSceneWP which enables rendering with priority settings (also known as Z-Index)
  • Added sounds.ini on level-basis

LunaLUA v0.7.1.0-beta

18 Aug 20:19
Compare
Choose a tag to compare
  • Some various fixes for the opengl renderer.
  • Added screenshot handling with the print-screen button.
  • Working loops (intro sequence + main loop)
  • Some new functions:
    • Added various functions in the Misc-Namespace
    • Added various functions in the Graphics-Namespace
    • Added Audio.MusicTitle and Audio.MusicTitleTag to get the music title (saved as IDv3 metadata) of the current music file (works well with mp3, ogg, flac, trackers (mod, it, s3m, xm, etc.) and with game music (spc, vgm, etc.) formats)
  • New custom libraries:
    • fade.lua - Easy and fast library for creating fade effects and color overlays
    • sprite.lua - A library for creating custom animated sprites with movement abilities.
    • vectR.lua - A vector library (used for colliders.lua)