On notera le support Cocoa et la version 64 bits pour OS X. Et un nouvel éditeur de fenêtres pour Windows, Linux et OS X.
On trouve également la mise à jour des bibliothèques tierces, pas mal de bogues corrigés et bien sûr la bibliothèque 3D grandement améliorée. Voir la liste ci-dessous pour plus de détails.
Cette version a nécessité une longue période de test d'après l'équipe de Fantaisie Software, qui travaille déjà sur la suivante.
Pour ceux qui ont une licence, vous pouvez télécharger PureBasic 5.00 sur votre compte :
http://www.purebasic.com/french/download.php
Et pour finir un lien indispensable pour les utilisateurs de Cocoa :
Trucs et astuces pour Cocoa
Liste des nouveautés :
- Ajouté: Support de Cocoa sous OS X (maintenant le toolkit par défaut)
- Ajouté: version 64-bit de PureBasic pour OS X
- Ajouté: nouvel éditeur de fenêtres pour Windows, Linux et OS X
- Ajouté: sous-système 'Carbon' pour OS X PowerPC et x86
- Ajouté: support des tableaux multi-dimensionnels dans les structures
- Ajouté: InitScintilla() pour Linux et OS X
- Ajouté: #PB_Window_NoActivate pour OpenWindow() et HideWindow()
- Ajouté: support de #PB_EventType_RightClick pour ScintillaGadget()
- Ajouté: Section 'favoris' à l'outil 'explorateur' de l'IDE
- Ajouté: Evénement pour les outils personnels quand un nouveau source est créé (IDE)
- Ajouté: support de SetWindowCallback() sous OS X
- Ajouté: GTK sous linux est maintenant partiellement thread-safe (Linux)
- Ajouté: support de SpritePixelCollision() sous OS X et Linux
- Mis à jour: version de Scintilla (3.2.2)
- Mis à jour: version d'Expat (2.1.0)
- Mis à jour: version de libjpeg (8.0d)
- Mis à jour: version de libpng (1.5.12)
- Mis à jour: version d'OGRE (1.8.0), Bullet (2.80), Hydrax (0.5.4), CEGUI (0.7.7)
- Mis à jour: version de ModPlug (0.8.8.4)
- Mis à jour: utilisation de VC++ 2010 au lieu de VC++ 2005 pour compiler les bibliothèques Windows (32-bit And 64-bit)
- Mis à jour: la documenation française a été largement complétée et améliorée par Jean R. VIALE.
- Modifié: SetModulePosition() est maintenant en millisecondes
- Corrigé: Nombreux bugs
3D Engine:
- Ajouté: bibliothèque EntityAnimation
- Ajouté: bibliothèque NodeAnimation
- Ajouté: bibliothèque VertexAnimation
- Ajouté: bibliothèque Spline
- Ajouté: support du 'CG Tookit' pour le moteur 3D (pour DirectX et OpenGL), avec InitEngine3D()
- Ajouté: paramètre 'Mode' optionnel à InitEngine3D()
- Ajouté: paramètre 'PickMask' optionnel à MousePick() et CreateEntity()
- Ajouté: RenderWorld() renvoie le temps écoulé depuis le dernier appel (en millisecondes)
- Ajouté: support du brouillard pour SkyBox() et SkyDome()
- Ajouté: 'Couleur' et paramètres 'TextureDimension' à WorldShadows()
- Ajouté: options #PB_World_UnderWater et #PB_World_WaterGodRays pour CreateWater()
- Ajouté: RayPick(), CameraViewWidth(), CameraViewHeight(), CameraViewX(), CameraViewY(), CameraDirection()
- Ajouté: CameraDirectionX/Y/Z(), SetCameraFixedYawAxis()
- Ajouté: paramètre 'IsActive' optionnel à CreateCamera()
- Ajouté: ScaleMaterial(), MaterialFog(), ReloadMaterial(), ResetMaterial(), NodeFixedYawAxis()
- Ajouté: paramètre 'TextureCoordinateIndex' optionnel à AddMaterialLayer()
- Ajouté: support de #PB_Material_Anisotropic à MaterialFilteringMode()
- Ajouté: support de #PB_Default comme #Matiere pour changer la configuration par défaut.
- Ajouté: #PB_Material_Wireframe, #PB_Material_Point et #PB_Material_Solid à MaterialShadingMode()
- Ajouté: SoundListenerLocate()
- Ajouté: paramètres 'DirectionX/Y/Z' optionnels à NodeLookAt()
- Ajouté: paramètre 'Mode' optionnel à MoveLight(), MoveEntity() et MoveNode(), 'Mode' peut être #PB_Local, #PB_Parent ou #PB_World
- Ajouté: paramètre 'Mode' optionnel à MoveCamera(), 'Mode' peut être #PB_Local ou #PB_World
- Ajouté: CreateTexture() gère maintenant les textures alpha
- Ajouté: #PB_Entity_Wireframe, #PB_Entity_Solid, #PB_Entity_Point et #PB_Entity_DisplaySkeleton à EntityRenderMode()
- Ajouté: FreeEntityJoints(), AttachEntityObject(), DetachEntityObject(), EntityBoneX/Y/Z()
- Ajouté: EntityBonePitch(), EntityBoneRoll(), EntityBoneYaw(), EntityFixedYawAxis()
- Ajouté: paramètres 'DirectionX/Y/Z' optionnels à EntityLookAt()
- Ajouté: EntityVelocity(), EntityAngularFactor(), EntityLinearFactor(), EntityCustomParameter(), EntityParentNode()
- Ajouté: EntityBoundingBoxX/Y/Z(), DisableEntityBody()
- Ajouté: #PB_Entity_VelocityX/Y/Z, #PB_Entity_MassCenterX/Y/Z, #PB_Entity_MaxVelocity à Get/SetEntityAttribute()
- Ajouté: LightAttenuation(), LightX/Y/Z(), LightDirection(), LightDirectionX/Y/Z()
- Ajouté: RotateLight(), LightPitch(), LightYaw(), LightRoll()
- Ajouté: GetScriptParticle(), CreateRenderTexture(), UpdateRenderTexture(), SaveRenderTexture()
- Ajouté: CreateCubeMapTexture(), EntityCubeMapTexture()
- Ajouté: HideEffect() gère maintenant le ribbon
- Ajouté: EffectID(), RibbonEffectWidth(), AttachRibbonEffect(), DetachRibbonEffect(), CreateLensFlareEffect(), LensFlareEffectColor()
- Ajouté: EnableHingeJointAngularMotor()
- Ajouté: paramètre '#Joint' pour ConeTwistJoint(), HingeJoint(), PointJoint(), SliderJoint()
- Ajouté: #PB_HingeJoint_LowerLimit et #PB_HingeJoint_UpperLimit à Get/SetJointAttribute()
- Ajouté: paramètres optionnel 'Pitch', 'Yaw', 'Roll' à AddStaticGeometryEntity()
- Ajouté: FreeTerrain(), SetupTerrains(), CreateTerrain(), TerrainPhysicBody(), DefineTerrainTile()
- Ajouté: AddTerrainTexture(), BuildTerrain(), TerrainLocate(), TerrainHeight(), TerrainTileHeightAtPosition()
- Ajouté: TerrainTilePointX/Y(), TerrainTileSize(), GetTerrainTileHeightAtPoint(), SetTerrainTileHeightAtPoint()
- Ajouté: UpdateTerrain(), TerrainTileLayerMapSize(), GetTerrainTileLayerBlend(), SetTerrainTileLayerBlend()
- Ajouté: UpdateTerrainTileLayerBlend(), TerrainMousePick(), SaveTerrain(), TerrainRenderMode()
- Ajouté: gestion des touches spéciales pour InputEvent3D()
- Modifié: CameraLookAt() ne change plus la direction
- Modifié: suppression du paramètre 'Type' sur les commandes Attach/DetachNodeObject()
- Modifié: paramètre 'LargeurInitiale' a été supprimée pour CreateRibbonEffect()
- Supprimé: AnimateEntity() (remplacée par Start/StopEntityAnimation())
- Supprimé: #PB_Entity_Wireframe, #PB_Entity_Point et #PB_Entity_Solid pour EntityRenderMode()
- Supprimé: CheckEntityCollision(), NextWorldCollision(), FirstWorldCollisionEntity(), SecondWorldCollisionEntity()
- Ajouté: version 64-bit de PureBasic pour OS X
- Ajouté: nouvel éditeur de fenêtres pour Windows, Linux et OS X
- Ajouté: sous-système 'Carbon' pour OS X PowerPC et x86
- Ajouté: support des tableaux multi-dimensionnels dans les structures
- Ajouté: InitScintilla() pour Linux et OS X
- Ajouté: #PB_Window_NoActivate pour OpenWindow() et HideWindow()
- Ajouté: support de #PB_EventType_RightClick pour ScintillaGadget()
- Ajouté: Section 'favoris' à l'outil 'explorateur' de l'IDE
- Ajouté: Evénement pour les outils personnels quand un nouveau source est créé (IDE)
- Ajouté: support de SetWindowCallback() sous OS X
- Ajouté: GTK sous linux est maintenant partiellement thread-safe (Linux)
- Ajouté: support de SpritePixelCollision() sous OS X et Linux
- Mis à jour: version de Scintilla (3.2.2)
- Mis à jour: version d'Expat (2.1.0)
- Mis à jour: version de libjpeg (8.0d)
- Mis à jour: version de libpng (1.5.12)
- Mis à jour: version d'OGRE (1.8.0), Bullet (2.80), Hydrax (0.5.4), CEGUI (0.7.7)
- Mis à jour: version de ModPlug (0.8.8.4)
- Mis à jour: utilisation de VC++ 2010 au lieu de VC++ 2005 pour compiler les bibliothèques Windows (32-bit And 64-bit)
- Mis à jour: la documenation française a été largement complétée et améliorée par Jean R. VIALE.
- Modifié: SetModulePosition() est maintenant en millisecondes
- Corrigé: Nombreux bugs
3D Engine:
- Ajouté: bibliothèque EntityAnimation
- Ajouté: bibliothèque NodeAnimation
- Ajouté: bibliothèque VertexAnimation
- Ajouté: bibliothèque Spline
- Ajouté: support du 'CG Tookit' pour le moteur 3D (pour DirectX et OpenGL), avec InitEngine3D()
- Ajouté: paramètre 'Mode' optionnel à InitEngine3D()
- Ajouté: paramètre 'PickMask' optionnel à MousePick() et CreateEntity()
- Ajouté: RenderWorld() renvoie le temps écoulé depuis le dernier appel (en millisecondes)
- Ajouté: support du brouillard pour SkyBox() et SkyDome()
- Ajouté: 'Couleur' et paramètres 'TextureDimension' à WorldShadows()
- Ajouté: options #PB_World_UnderWater et #PB_World_WaterGodRays pour CreateWater()
- Ajouté: RayPick(), CameraViewWidth(), CameraViewHeight(), CameraViewX(), CameraViewY(), CameraDirection()
- Ajouté: CameraDirectionX/Y/Z(), SetCameraFixedYawAxis()
- Ajouté: paramètre 'IsActive' optionnel à CreateCamera()
- Ajouté: ScaleMaterial(), MaterialFog(), ReloadMaterial(), ResetMaterial(), NodeFixedYawAxis()
- Ajouté: paramètre 'TextureCoordinateIndex' optionnel à AddMaterialLayer()
- Ajouté: support de #PB_Material_Anisotropic à MaterialFilteringMode()
- Ajouté: support de #PB_Default comme #Matiere pour changer la configuration par défaut.
- Ajouté: #PB_Material_Wireframe, #PB_Material_Point et #PB_Material_Solid à MaterialShadingMode()
- Ajouté: SoundListenerLocate()
- Ajouté: paramètres 'DirectionX/Y/Z' optionnels à NodeLookAt()
- Ajouté: paramètre 'Mode' optionnel à MoveLight(), MoveEntity() et MoveNode(), 'Mode' peut être #PB_Local, #PB_Parent ou #PB_World
- Ajouté: paramètre 'Mode' optionnel à MoveCamera(), 'Mode' peut être #PB_Local ou #PB_World
- Ajouté: CreateTexture() gère maintenant les textures alpha
- Ajouté: #PB_Entity_Wireframe, #PB_Entity_Solid, #PB_Entity_Point et #PB_Entity_DisplaySkeleton à EntityRenderMode()
- Ajouté: FreeEntityJoints(), AttachEntityObject(), DetachEntityObject(), EntityBoneX/Y/Z()
- Ajouté: EntityBonePitch(), EntityBoneRoll(), EntityBoneYaw(), EntityFixedYawAxis()
- Ajouté: paramètres 'DirectionX/Y/Z' optionnels à EntityLookAt()
- Ajouté: EntityVelocity(), EntityAngularFactor(), EntityLinearFactor(), EntityCustomParameter(), EntityParentNode()
- Ajouté: EntityBoundingBoxX/Y/Z(), DisableEntityBody()
- Ajouté: #PB_Entity_VelocityX/Y/Z, #PB_Entity_MassCenterX/Y/Z, #PB_Entity_MaxVelocity à Get/SetEntityAttribute()
- Ajouté: LightAttenuation(), LightX/Y/Z(), LightDirection(), LightDirectionX/Y/Z()
- Ajouté: RotateLight(), LightPitch(), LightYaw(), LightRoll()
- Ajouté: GetScriptParticle(), CreateRenderTexture(), UpdateRenderTexture(), SaveRenderTexture()
- Ajouté: CreateCubeMapTexture(), EntityCubeMapTexture()
- Ajouté: HideEffect() gère maintenant le ribbon
- Ajouté: EffectID(), RibbonEffectWidth(), AttachRibbonEffect(), DetachRibbonEffect(), CreateLensFlareEffect(), LensFlareEffectColor()
- Ajouté: EnableHingeJointAngularMotor()
- Ajouté: paramètre '#Joint' pour ConeTwistJoint(), HingeJoint(), PointJoint(), SliderJoint()
- Ajouté: #PB_HingeJoint_LowerLimit et #PB_HingeJoint_UpperLimit à Get/SetJointAttribute()
- Ajouté: paramètres optionnel 'Pitch', 'Yaw', 'Roll' à AddStaticGeometryEntity()
- Ajouté: FreeTerrain(), SetupTerrains(), CreateTerrain(), TerrainPhysicBody(), DefineTerrainTile()
- Ajouté: AddTerrainTexture(), BuildTerrain(), TerrainLocate(), TerrainHeight(), TerrainTileHeightAtPosition()
- Ajouté: TerrainTilePointX/Y(), TerrainTileSize(), GetTerrainTileHeightAtPoint(), SetTerrainTileHeightAtPoint()
- Ajouté: UpdateTerrain(), TerrainTileLayerMapSize(), GetTerrainTileLayerBlend(), SetTerrainTileLayerBlend()
- Ajouté: UpdateTerrainTileLayerBlend(), TerrainMousePick(), SaveTerrain(), TerrainRenderMode()
- Ajouté: gestion des touches spéciales pour InputEvent3D()
- Modifié: CameraLookAt() ne change plus la direction
- Modifié: suppression du paramètre 'Type' sur les commandes Attach/DetachNodeObject()
- Modifié: paramètre 'LargeurInitiale' a été supprimée pour CreateRibbonEffect()
- Supprimé: AnimateEntity() (remplacée par Start/StopEntityAnimation())
- Supprimé: #PB_Entity_Wireframe, #PB_Entity_Point et #PB_Entity_Solid pour EntityRenderMode()
- Supprimé: CheckEntityCollision(), NextWorldCollision(), FirstWorldCollisionEntity(), SecondWorldCollisionEntity()