I am pleased to announce the release of LB Booster version 2.70. It may be downloaded from here:
http://lbbooster.com/LBBRUN.exe (optional runtime engine)
You will need administrative privileges when running the program for the first time after upgrading (in Windows Vista, 7 and 8/8.1, with UAC enabled, use 'Run as administrator').
Changes in this version include:
Native arrays of structures are introduced! See below for details of the syntax.
A second joystick is supported using READJOYSTICK 2.
BMPBUTTON accepts a wider range of BMP file formats.
When compiled to an EXE, END terminates the process (even if the mainwin is open).
A couple of bugs have been fixed (my thanks to stefanh and rodsweb).
APLIB.DLL has been updated to the latest version. This may help in avoiding false positive virus detections.
Arrays of structures may be any size and have any number of dimensions, limited only by available memory. A structure array is created using this syntax:
STRUCT name(dims), member1 AS type, member2 AS type....
A member of a structure array is accessed as follows:
name(index).member.struct = value
Here is an example of calling a Windows API (Polygon) which takes a structure array as a parameter:
open "Structure array" for graphics as #w
#w "trapclose [quit]"
hw = hwnd(#w)
calldll #user32, "GetDC", hw as ulong, hdc as ulong
npoints = 3
struct points(npoints-1), x as long, y as long
for i = 0 to npoints-1
points(i).x.struct = 120 + 120 * cos(2*i)
points(i).y.struct = 150 + 120 * sin(2*i)
calldll #gdi32, "Polygon", hdc as ulong, _
points() as struct, npoints as long, r as long