After a long period of bugfixing and testing it is now official. The PureBasic 4.30 final version is here!
It is available from your PureBasic download account. Get it while its hot!
Among many other improvements, the most noteable are:
- PureBasic 64bit for Windows
- PureBasic x86 for Mac OSX
- Updated and improved Ogre support
The full list of changes is here:
16th December 2008 : Version 4.30
- Added: Full 64 bits version of PureBasic (Windows)
- Added: MacOS X x86 support
- Added: 'JPEG 2000' library
- Added: 'Node' library
- Added: 'Gadget3D' library
- Added: 'Window3D' library
- Added: 'Sound3D' library
- Added: Full unicode support to the engine3d
- Added: MacOS X support for engine3d
- Added: Absolute/relative rotation for all engine3d rotate commands
- Added: Absolute move for engine3d physic body
- Added: EntityID(), EntityLookAt()
- Added: CameraProjectionX(), CameraProjectionY(), WorldDebug(), Sun()
- Added: MousePick(), PointPick(), PickX/Y/Z(), CreateWater(), AntialiasingMode()
- Added: CatchModule(), ArraySize(), WindowBounds(), DesktopX(), DesktopY()
- Added: FinishDatabaseQuery(), DatabaseID()
- Added: CreateSemaphore(), FreeSemaphore(), SignalSemaphore(), WaitSemaphore(), TrySemaphore()
- Added: '.i' native type for 32/64 bits integer size
- Added: Read/WriteInteger(), Read/WritePreferenceInteger(), PeekI(), PokeI()
- Added: Language support for compiler and debugger
- Added: Style parameter to FontRequester()
- Added: Support for 'And/Or' in CompilerIf statements
- Added: #PB_Event_MinimizeWindow, #PB_Event_MaximizeWindow, #PB_Event_RestoreWindow
- Added: #PB_Ignore support to AddStatusBarField()
- Added: #PB_Explorer_DisplayMode to ExplorerListGadget()
- Added: Multiple joystick support
- Added: #PB_Compiler_FilePath compiler constant
- Enhanced: Major rework of OnError library (crossplatform)
- Enhanced: InitScintilla(), parameter is now optional
- Enhanced: Complete debugger rewrite for support of the new platforms
- Optimized: XML library to handle very big files quickly
- Optimized: LinkedList library to use memory efficiently
- Changed: 'Read' keyword now requiers a type (Read.l, Read.q etc.) to avoid 64 bits migration problems
- Changed: CountList() to ListSize()
- Changed: ClearGadgetItemList() to ClearGadgetItems()
- Changed: CameraProjection() to CameraProjectionMode()
- Changed: AddElement() and such now return a pointer to the start of data
- Changed: ComboBoxGadget() height is now the real gadget height
- Changed: #Long, #Byte, #Word etc. to #PB_Long, #PB_Byte, #PB_Word etc. for consistency
- Changed: RotateEntity(), RotateCamera() and RotateBillboard() x,y rotation axis
- Changed: CameraFOV() angle from radian to degree
- Changed: Array and list parameter now requiers the 'List' or 'Array' keyword
- Removed: StrQ(), HexQ(), BinQ(), ValQ()
- Removed: ChangeListIconDisplay(), replaced by a gadget attribute
- Removed: ButtonImageGadget() backward compatibility
- Removed: CreateGadgetList(), now automatically done in OpenWindow()
- Removed: CopyTexture(), TextureOutput()
- Removed: Removed CPU monitor from the IDE, as all OS provide the same functionality
- Fixed: DX9 subsystem on Windows
- Fixed: Many compiler and libraries related bugs
Note:
Another incompatible change has been introduced since the Beta5 release:
If a Procedure is declared with an Array or a LinkedList as parameter, the declaration now has to include the 'Array' or 'List' keyword. This change is required to properly implement future features, and it is better to make this change now while many other things change as well so we can extend PureBasic later without introducing an incompatibility again for it. (It should be a quick change to adjust the code to this, as the compiler will complain about the old syntax unlike changes like the Read command.)
The syntax now looks like this:
Code: Select all
Procedure Test(Array MyArray(1), List MyList())
; ...
EndProcedure
We wish everyone an early happy holiday and a lot of fun and productivity with this new version. And if anyone is still looking for a good christmas present, the newly update PureBasic may be the perfect choise, and online ordering is very quick
Now its on to the 4.40 version. Some early work has already been done...
The PureBasic Team