Logan BASIC Updates
v2.1.2
July 28, 2026
- Fixed bug with the canvas in Firefox not scrolling into view when it is initially hidden and the showCanvas()
native function is used.
v2.1.1
July 23, 2026
- Fixed bug with the canvas in Firefox not scrolling into view when gaining focus.
v2.1.0
July 15, 2026
- Added "drawbufferdone" event to setCanvasEvent() function that fires after the canvas back buffer has
been drawn to the visible canvas.
- Added "autoRun" URL parameter, which causes the source file to automatically run upon opening.
- Fixed bug where a function name containing an underscore character "_" gives Compile error
"Expected terminator after statement" instead of "Expected new line after '_'".
- Added Code Editor help section.
- Modified the "Run" and "Stop" buttons in the Code Editor to have green and red background colors, respectively.
- Added ability to automatically run example code from the help pages.
- Added updateDeltaTime(), resetDeltaTime(), getDeltaTime(), setMaxDeltaTime(), and getMaxDeltaTime() canvas native functions.
- Added rayIntersectsRect() standard native function.
- Added setSpriteHitBoxOffsetX(), setSpriteHitBoxOffsetY(), setSpriteHitBoxWidth(), setSpriteHitBoxHeight(), getSpriteHitBoxOffsetX(),
getSpriteHitBoxOffsetY(), getSpriteHitBoxWidth(), and getSpriteHitBoxHeight() sprite native functions.
- Added spritesCollided(), resolveSpriteCollision(), resolveSpriteCollisionX(), and resolveSpriteCollisionY() sprite native functions.
- Modified updateSprites(), getSpriteFrameRate(), and setSpriteFrameRate() sprite native functions to use seconds instead of
update counts to measure sprite frame duration
- Revamped the UI to give it a retro "Windows9x" look.
- Added "Memory Match" game example.
- Added getTextDrawWidth() and getTextDrawHeight() canvas native functions.
- Added timerIsRunning() standard native function.
- Removed the callback-function parameter for the drawCanvasBuffer() canvas native function. Now, calling
setCanvasEvent() with the "drawbufferdone" event is the only way to set an event handler for when the canvas
buffer is done drawing, making the assignment of the event handler more explicit.
- Added clearRect() canvas native function.
- Added drawCanvasBufferClip() canvas native function.
- Fixed bug with debug pane not positioning properly when displaying and resizing.
- Revamped the Code Editor, displaying the name of the current code file, allowing code files to load into the current page
instead of opening a new browser tab, and (for Chromium-based browsers) keeping track of the currently opened code file so that
subsequent saves are automatically applied without having to manually select the file each time.
v2.0.1
July 3, 2023
- Added on-screen control instructions to Space Shooter, Scrolling Platformer, Breakout, and DFT examples.
- Tweaked the contact physics and speeds of the ball and paddle in Breakout example.
v2.0.0
June 27, 2023
- Added the literal value 'nothing'.
- Added import() function to support library source files.
- Added run() function.
- Added a debugger, including line-stepping functionality, breakpoints, and variable/call stack displays.
v1.8.7
June 1, 2022
- Added version(), splitStr(), word(), and pauseFor() functions.
- Added a library file that bundles all of the core source files.
v1.7.3
April 15, 2022
- Disabled default touch actions for the canvas.
- Added trigonometry functions sin(), cos(), and tan().
- Added round() function.
- Added sprite z-order functions spriteToBack() and spriteToFront().
v1.6.37
March 15, 2022
- Added "Scrolling Platformer" example.
- Modified the canvas event handler to prevent the browser's default action when an event is handled.
- Added an Updates page.
- Added an About page.
- Added sprite functions.
- Added drawImageTiled() function.
- Added functions for detecting overlapping rectangles, circles, and points.