v0.7.0-alpha
Pre-release
Pre-release
[0.7.0-alpha] - 2026-06-06
Adds support for Basic4GL Compiler Library runtime compilation functions, updates language support to Basic4GL 2.6.4, adds VM Viewer for advanced debugging, and a handful of new settings and functions.
All sample programs from the original Basic4GL should now be supported 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉
Added:
- All original sample programs should now be supported; please report any issues here: https://github.com/NateIsStalling/Basic4GLj/issues
- Implemented compiler library for runtime compilation of Basic4GL code
- Updated compiler to support Basic4GL 2.6.4 syntax and functions
- Updated project settings look and feel
- Added Program Arguments in project settings for commandline input
- Added JVM Settings in project settings for advanced debugging
- Added View Virtual Machine debugging option
- Added support to embed assets with exported programs
- Added progress status for exporting programs
- Added Fullscreen support for running programs
- Added gluLookAt support
- Added missing VK key codes
- Added support for accessing files in AppData folder; creates "Basic4GL" folder in AppData
- Added support to pause program with Pause key while debugging
- Added support for function/sub pointers
- Added GetFunctionByName routine
GetFunctionByName Sample
Added GetFunctionByName routine to lookup function/subroutine at runtime by name.
This is mainly useful for extracting function pointers from runtime compiled code.
dim a, b
a = Comp("sub t(): printr 1: end sub")
b = Comp("sub t(): printr 2: end sub")
dim c as sub(), d as sub()
c = GetFunctionByName("t", a)
d = GetFunctionByName("t", b)
c() ' Will print 1
d() ' Will print 2
Function/Sub Pointer Sample
Now with function/sub pointers you can take the address of a function/sub, assign it to a variable, pass it to another function, or call it.
sub Apply(fn as function(x))
dim i
for i = 1 to 10
printr fn(i)
next
end sub
function Twice(n)
return n * 2
end function
function Squared(n)
return n * n
end function
printr "Twice": Apply(&Twice)
printr "Squared": Apply(&Squared)
Fixed Issues:
- #40 Fixed misc. issues with Mouse and Keyboard input for sample programs
- #67 Fixed glCallLists support
- #69 Fixed issues with file IO functions
Full Changelog: v0.6.0-alpha...v0.7.0-alpha