2025-10-06: beta 3 is out, with one big new library: ScreenGadget, thanks to pf-shadoko ! It's also the first official library 100% written in PureBasic. The Window3D and Gadget3D lib based on CEGUI will be deprecated. The examples for the new lib can be found in the Examples/Sources/ScreenGadget.pb and Examples/3D/ScreenGadgetMultipleWindow.pb files. Don't hesitate to send your feedback as the lib is very new. There is also the usual bug fixes:
Code: Select all
- Added: New ScreenGadget library to create easily UI on a game screen (for 2D and 3D)
- Windows: [Done] UncompressPackFile() should preserve modification times
- Windows: [Done] PB 6.20 B3 RotateCoordinates not rotating
- Windows: [Done] PB 6.20 B3 PathCursor after RotateCoordinates
- Linux: [Done] PB 6.21 XMLNodePath() giving short path element name
- Linux: [Done] PB 6.21 Regresion in console output behaviour
- Linux: [Done] PBv6.30b2 - ‘#PB_Image_Transparent’ does not work
- Linux: [Done] OpenWindowedScreen, Autostretch and Screen Position
- Linux: [Done] QT subsystem not work #PB_Event_DeactivateWindow
- MacOS: [Done] PB v6.20 - v6.21: 3D Example BillboardGrass SkyDom
- MacOS: [Done] PB 6.20 Canvas keydown returning wrong code for some keys
- MacOS: [Done] PB 6.3 Beta 1: Lack of transparency of toolbar icons and incorrect OnErrorGoto example
- MacOS: [Done] PB 6.30 b1/b2 - #PB_Image_Transparent don't work
- MacOS: [Done] Cannot add Keypad Dot as shortcut.
- MacOS: [Done] Can not use a structure in an Import
- MacOS: [Done] Menu destroyed on dialog close
- MacOS: [Done] PB v6.xx - Wrong StatusBar Position with use ToolBar
- MacOS: [Done] Mac OS/X beta 26
- C Backend: [Done] #PB_Structure_AlignC in Linux x86
- C Backend: [Done] PB 6.21 Win x64 - large string literals in datasection.
- C Backend: [Done] Calculation result comparison differs under C backend
- C Backend: [Done] Bit-shifting uses inconsistent operand sizes versus ASM-backend
- Engine3D: [Done] Include 2D Sprites Within a 3D Environment
2025-09-12: beta 2 is out ! Mostly bug fixes as you can see:
Code: Select all
- Added: #PB_FTP_Debug flag for OpenFTP() to allow to get more info (in the console) about the connection.
- Windows: [Done] 5.46 LTS B1 ImageGadget transparency issues
- Windows: [Done] RotateSprite issue under DirectX9
- Windows: [Done] PureLibrary created with C backend fails when using /THREAD option
- Windows: [Done] Pointer to a structure in the prototype
- Windows: [Done] undefined symbol 'SM_3057'.
- Windows: [Done] 2D Sprites Auto Stretch After CloseScreen
- Windows: [Done] Purebasic 6.21 x86 C Backend crash with nested long arrays names in structures
- Windows: [Done] Prototype order of declaration matters (and it shouldn't)
- Windows: [Done] SvgVectorOutput and fonts
- Windows: [Done] Problem printing some unicode characters to canvas gadget
- Windows: [Done] Virtual list works in 6.21 but not int 6.30beta1
- Windows: [Done] DrawVectorImage(ImageID(img)) sometimes draws the wrong image
- Windows: [Done] Bug with Bool operation in PB6.21 ASM and C-Backend
- Windows: [Done] PB 6.30b1 - EnableASM generates syntax error
- Windows: [Done] Stringgadget bug
- Windows: [Done] PB 6.30 b1 - HeaderSection / EndHeaderSection
- Windows: [Done] PureBasic 6.30 beta 1 - OpenHID() parameter SerialNumber
- Linux: [Done] PB 6.21 PB_Text_Center doesn't work on TextGadgets on Ubuntu 24.04
- Linux: [Done] PB 6.21 Canvas Gadget #PB_EventType_Resize unreliable
- Linux: [Done] #PB_Frame_Container disappears in Forms
- Linux: [Done] PB v6.xx ToolBarHeight on Linux
- Linux: [Done] PB 6.30 b1 - OpenHID() return 0
- Engine3D: [Done] Include 2D Sprites Within a 3D Environment
I hope the holidays season was good ! The brand new beta of PureBasic is available on your online account. It mostly has features which were hanging on my TODO list since a while, and fix a few long time bugs in the process

Code: Select all
- Added: Brand new HID library !
- Added: Add #PB_ListIcon_NoHeaders flag ListIconGadget()
- Added: Add #PB_Explorer_NoHeaders flag ExplorerListGadget()
- Added: Add Unicode() to create a dynamic unicode string like Ascii() and UTF8()
- Added: HeaderSection/EndHeaderSection to put C or ASM code outside the main() function
- Added: #PB_InputRequester_HandleCancel to have a special return for InputRequester() if the user cancelled it
- Added: Gzip encoding support for HttpRequest(), HttpRequestMemory(), RecieveHTTPFile() and RecieveHTTPMemory()
- Added: #PB_Menu_NativeImageSize tot CreateImageMenu() and CreatePopupImageMenu() to allow larger icons in menus (Windows)
- Added: #PB_2DDrawing_FastText for DrawingMode() to use have a faster text rendering (Windows).
- Added: #PB_Mail_NoSSLCheck and #PB_Mail_WeakSSL flags for SendMail() to ease tests.
- Added: Automatic BOM handling to CreateFile() and ReadFile()/OpenFile() with #PB_File_BOM flag
- Added: Changed x,y type for DisplaySprite/DisplayTransparentSprite() from integer to float (Not supported on DX9 or DX11 subsystem)
- Added: Placeholder support for StringGadget() with #PB_String_PlaceHolder flag
- Added: PackerCallback() to monitor and abort compression.
- Updated: Splitted the 2DDrawing lib with function which doesn't needed dependencies (https://www.purebasic.fr/english/viewtopic.php?t=87034)
- Changed: CreateImage() background color now takes full RGBA() color for 32-bit picture. #PB_Image_Transparent and #PB_Image_TransparentBlack can be used to set a transparent background with white or black antialising.
- Windows: [Done] pb5.40b3 - Uncoloured alpha pixels appear black
- Windows: [Done] 540ß10 Circle and Resize Image
- Windows: [Done] 5.42 vector drawing & saveImage()
- Windows: [Done] CreateImage() 32bit white bug
- Windows: [Done] PBv6.02b2 Transparency with VectorDrawing
- Windows: [Done] PB v6.21 DrawText Outside of Visible Range
- Windows: [Done] IsPack()
- Windows: [Done] ListIconGadget and SpinGadget interraction
- Linux: [Done] SetClipboardText
- Linux: [Done] OnErrorGoto() doesn't work
- Linux: [Done] GrabSprite() does not work properly
- Linux: [Done] PackEntryName() with #PB_PackerPlugin_Lzma plugin
- Engine3D: [Done] PB 6.21 - CreateLine3D() Bug
- Engine3D: [Done] MousePick() No work with PB_Any entity
- Doc: [Done]Set/GetGadgetAttribute for ScrollAreaGadget
Have fun !
The Fantaisie Software Team