PureBasic 5.20 LTS is out (Rockstar release)
Posted: Tue Sep 17, 2013 12:51 pm
Hi Folks,
To celebrate GTA V, the new Rockstar game out today, we are very happy to annouce the final 5.20 version of PureBasic ! It's available on your online account, and brings tons of new features and general internal improvement. Here is the full feature list:
We would like to thanks again all the beta testers who found tons a issues and all the help we got from various people, especially on the doc side ! This a LTS (Long Term Support) release, so it will be bug fixed for 2 years until 17th September 2015, while the commandset and compiler functions won't be modified.
Have fun coding,
The Fantaisie Software Team.
To celebrate GTA V, the new Rockstar game out today, we are very happy to annouce the final 5.20 version of PureBasic ! It's available on your online account, and brings tons of new features and general internal improvement. Here is the full feature list:
Code: Select all
Added: Module support for the compiler
Added: Runtime library
Added: Dialog library
Added: GTK3 subsystem for Linux
Added: DirectX11 subsystem for Windows (doesn't not support the 3D engine for now)
Added: Named enumeration support to allow continuing a previous enumeration
Added: JoystickName(), JoystickZ()
Added: Optional #PB_Relative flag to JoystickX/Y/Z() to have more precise values
Added: Optional pad number to JoystickX/Y/Z() to handle more complex gamepads
Added: ZoomSprite() now accepts #PB_Default as Width/Height to reset to initial sprite size
Added: 'Color' and 'Intensity' parameter to DisplayTransparentSprite()
Added: ClipSprite() now support #PB_Default for individual parameter
Added: #PB_Sprite_PixelCollision flag to CreateSprite(), LoadSprite() to enable pixel collision
Added: Zoom support to SpritePixelCollision() and SpriteCollision()
Added: OpenGL support for SpriteBlending() (warning, it just wraps OpenGL mode, so it can behave different than DirectX)
Added: 32-bit support for SpriteOutput() for DX and OpenGL
Added: #PB_EventType_Focus and #PB_EventType_LostFocus support to EditorGadget()
Added: #PB_EventType_RightClick support to ListViewGadget()
Added: #PB_EventType_Change support to PanelGadget() and DateGadget()
Added: #PB_Prototype and #PB_Module support to Defined()
Added: All Init() functions can be called more than once without issue (like InitSound(), InitNetwork() etc.)
Added: #PB_FileSystem_Force support to DeleteFile()
Added: #PB_FileSystem_NoExtension support to GetFilePart()
Added: Back color parameter to CreateImage()
Added: #PB_Entity_NbSubEntities to GetEntityAttribute()
Added: MeshIndexCount(), SetRenderQueue(), FetchEntityMaterial(), GetMeshData(), SetMeshData()
Added: CPUName(), Un/BindEvent(), Un/BindGadgetEvent(), Un/BindMenuEvent()
Added: Previous location is displayed when declaring a structure, interface, prototype or procedure twice.
Added: 2 license files to easy add the needed information when shipping PB programs (see reference documentation)
Added: Bool() is now evaluated at compile time if the whole expression is constant
Added: Debugger check for SortStructuredList() and SortList() to ensure the specified list is of correct type
Added: Linux executables created on new distribution should still work on old linux.
Added: #PB_EventType_FirstCustomValue for use with PostEvent()
Added: CameraFollow(), ExamineWorldCollisions(), NextWorldCollision(), FirstWorldCollisionEntity(), SecondWorldCollisionEntity()
Added: WorldCollisionContact(), WorldCollisionNormal(), WorldCollisionAppliedImpulse()
Added: BuildMeshTangents(), MeshVertexTangent(), CopyTexture()
Added: Pitch(), Roll(), Yaw()
Added: #PB_Gadget_RequiredSize support for GadgetWidth/Height()
Added: #PB_Entity_LinearSleeping, #PB_Entity_AngularSleeping, #PB_Entity_DeactivationTime, #PB_Entity_IsActive,
Added: #PB_Entity_AngularVelocityX/Y/Z, #PB_Entity_ScaleX/Y/Z, #PB_Entity_AngularVelocity, #PB_Entity_HasContactResponse for Get/SetEntityAttribute()
Optimized: Pixel sprite collision routines are now much faster with DirectX
Optimized: More peephole optimizations on x64 assembler output
Optimized: Faster compilation for big programs
Optimized: Linux build server have been upgraded, now using a better GCC which produce better code.
Changed: SpinGadget() EventType are now #PB_EventType_Up and #PB_EventType_Down instead of -1 and 1.
Changed: renamed ZoomSprite3D() to ZoomSprite()
Changed: renamed TransformSprite3D() to TransformSprite()
Changed: renamed RotateSprite3D() to RotateSprite()
Changed: renamed Sprite3DQuality() to SpriteQuality()
Changed: renamed Sprite3DBlending() to SpriteBlending()
Changed: renamed the whole 'Module' library to 'Music'
Changed: renamed Frame3DGadget() to FrameGadget()
Changed: renamed Frame3DGadget3D() to FrameGadget3D()
Changed: renamed #PB_Shorcut_Prior to #PB_Shorcut_PageUp and #PB_Shorcut_Next to #PB_Shorcut_PageDown
Changed: Packer plugin constant renamed to #PB_PackerPlugin_XXX
Changed: RayCollide() now returns the colliding #Entity.
Updated: WebGadget() on Windows doesn't needs ATL.dll anymore
Updated: zlib to 1.2.8
Updated: pqlib (PostgreSQL) to 9.2.4
Updated: ziplib to 0.11.1
Updated: SCNotification scintilla structure
Removed: Mozilla ActiveX support for WebGadget() on Windows as the last ActiveX version is way too old (2005)
Removed: Sprite3D library (merged with regular sprite library)
Removed: Palette library (outdated)
Removed: RenderMovieFrame() and #PB_Movie_Rendered (outdated)
Removed: DisplayTranslucentSprite() -> replaced with 'Alpha' parameter for DisplayTransparentSprite()
Removed: DisplaySolidSprite() -> replaced with 'Color' parameter for DisplayTransparentSprite()
Removed: DisplayRGBFilter() -> can be replaced with a zoomed sprite with color
Removed: DisplayShadowSprite() -> can be replaced with DisplayTransparentSprite() with color
Removed: StartSpecialFX(), StopSpecialFX(), DisplayAlphaSprite(), ChangeAlphaIntensity(), UseBuffer()
Removed: SetWindowCallback() on OS X, can be replaced with BindEvent()
Removed: Carbon subsystem on OS X, it was too old be used with new libs
Have fun coding,
The Fantaisie Software Team.