Developpez.com - Rubrique PureBasic

Le Club des Développeurs et IT Pro

Sortie PureBasic 4.30 pour Windows

Linux et MacOS

Le 2008-12-17 12:40:15, par comtois, Responsable Purebasic
Voici enfin la version 4.30 finale, elle est disponible sur votre compte.
Les versions de démos pour les différents système sont disponibles sur le site de PureBasic :

http://www.purebasic.com/

Parmi les nouveautés, les plus importantes sont sans aucun doute celles ci :

- PureBasic 64 bits pour Windows
- PureBasic x86 pour Mac OSX
- Mise à jour et amélioration de la bibliothèque 3D basée sur le moteur Ogre, ceci pour les 3 OS. Windows, Linux et MacOS.

Cette archive contient quelques exemples.
http://www.purebasic.com/Ogre1.6.zip

Liste complète des changements :

16 Décembre 2008 : Version 4.30

- Ajouté: Version 64 bits de PureBasic (Windows)
- Ajouté: Support de MacOS X x86
- Ajouté: Bibliothèque 'JPEG 2000'
- Ajouté: Bibliothèque 'Node'
- Ajouté: Bibliothèque 'Gadget3D'
- Ajouté: Bibliothèque 'Window3D'
- Ajouté: Bibliothèque 'Sound3D'
- Ajouté: Support de l'unicode dans le moteur 3d
- Ajouté: Support de MacOS X pour le moteur 3d
- Ajouté: Rotation absolue et relative pour toutes les commandes du moteur 3d
- Ajouté: Deplacement absolu pour les corps physiques du moteur 3d
- Ajouté: EntityID(), EntityLookAt()
- Ajouté: CameraProjectionX(), CameraProjectionY(), WorldDebug(), Sun()
- Ajouté: MousePick(), PointPick(), PickX/Y/Z(), CreateWater(), AntialiasingMode()
- Ajouté: CatchModule(), ArraySize(), WindowBounds(), DesktopX(), DesktopY()
- Ajouté: FinishDatabaseQuery(), DatabaseID()
- Ajouté: CreateSemaphore(), FreeSemaphore(), SignalSemaphore(), WaitSemaphore(), TrySemaphore()
- Ajouté: Type natif '.i' pour gérer les entiers 32/64 bits
- Ajouté: Read/WriteInteger(), Read/WritePreferenceInteger(), PeekI(), PokeI()
- Ajouté: Support de la localisation de la langue pour le compiler et le débogueur
- Ajouté: Paramètre 'Style' pour FontRequester()
- Ajouté: Support de 'And/Or' avec le mot clef CompilerIf
- Ajouté: #PB_Event_MinimizeWindow, #PB_Event_MaximizeWindow, #PB_Event_RestoreWindow
- Ajouté: Support de #PB_Ignore pour AddStatusBarField()
- Ajouté: Support de #PB_Explorer_DisplayMode pour ExplorerListGadget()
- Ajouté: Support de plusieurs joysticks
- Ajouté: Constante #PB_Compiler_FilePath

- Amélioré: Refonte complète de la bibliothèque 'OnError' (cross-plateforme)
- Amélioré: Le paramètre de InitScintilla() est maintenant optionnel
- Amélioré: Re-écriture complète du débogueur pour supporter les nouvelles plateformes

- Optimisé: Bibliothèque 'XML' pour pouvoir gérer des gros fichiers rapidement
- Optimisé: Bibliothèque 'LinkedList' pour éviter trop de fragmentation mémoire

- Changé: Le mot clef 'Read' nécessite un type (Read.l, Read.q etc.) pour éviter des problèmes de migration 64 bits
- Changé: CountList() en ListSize()
- Changé: ClearGadgetItemList() en ClearGadgetItems()
- Changé: CameraProjection() en CameraProjectionMode()
- Changé: AddElement() et consors renvoient le pointeur du début des données
- Changé: La hauteur de ComboBoxGadget() est la hauteur réelle du gadget
- Changé: #Long, #Byte, #Word etc. en #PB_Long, #PB_Byte, #PB_Word etc.
- Changé: Les axes de rotation x,y de RotateEntity(), RotateCamera() et RotateBillboard()
- Changé: L'angle de CameraFOV() de radian en degré

- Supprimé: StrQ(), HexQ(), BinQ(), ValQ()
- Supprimé: ChangeListIconDisplay(), remplacé par un attribut de gadget
- Supprimé: Compatibilité arrière de ButtonImageGadget()
- Supprimé: CreateGadgetList(), fait automatiquement dans OpenWindow()
- Supprimé: CopyTexture(), TextureOutput()

- Corrigé: Sous-système DX9 sous Windows
- Corrigé: Nombreux bugs du compilateur et des bibliothèques
Note:
Si une procédure est déclarée avec un tableau ou une liste chaînée en paramètre, la déclaration doit désormais inclure le mot clé 'Array' ou 'List' .

Ce changement est nécessaire pour les prochaines fonctionnalités.

La nouvelle syntaxe ressemble à ceci :
Code :
1
2
3
4
Procedure Test(Array MyArray(1), List MyList())
  ; ...
EndProcedure
La documentation en ligne est à jour (4.30), vous la trouverez ici:
http://purebasic.developpez.com/documentation/

Vous pouvez télécharger la documentation dans le format chm ici:
http://purebasic.developpez.com/documentation/PureBasic.chm

Pour finir, la version 4.40 est déjà en cours de développement et elle avance bien.
  Discussion forum
16 commentaires
  • bombseb
    Membre expérimenté
    Est-ce qu'on peut ouvrir un écran graphique sur Mac avec cette nouvelle version de PureBasic ?
    il me semble que j'avais essayé la version de démonstration il y a pas longtemps, et la fonction openscreen () ne marchait pas
  • comtois
    Responsable Purebasic
    Je n'ai pas de Mac pour tester mais si j'en crois les codes réalisés pour le Mac que j'ai pu voir à droite à gauche, c'est ok avec la 4.30.

    La version Mac est la plus récente, avec un nombre restreint d'utilisateurs et donc très peu de retour de bogues pour aiguiller les développeurs.

    Avec la 4.30 un pas est franchi, il existe désormais 2 versions (pour les processeurs PPC ? et pour les processeurs intel x86), et les utilisateurs commencent à se montrer, ça ne pourra qu'accélérer le mouvement.

    Une grosse mise à jour a été effectué, mais je ne suis pas en mesure de comparer avec la version Windows.

    La version Mac est jeune, mais elle grandit très vite

    La version démo ne devrait pas tarder, tu pourras juger par toi-même.
  • GeBonet
    Membre du Club
    Bonjour,

    Je suis un utilisateurs récent de PB, février 2008... Mais "retraité" de la "Micro". Mes début informatique sont de 1977... Ma phase professionnelle à partir de 1980... Et ma reprise d'activité aura été provoqué par PB.

    Car, l'intéressant avec PB c'est qu'en acquérant la licence d'utilisation, nous entrons dans l'évolution même du langage.

    Et pour matérialiser cela, nous avons presque tout les 6 mois une nouvelle version de cette évolution...

    Maintenant la 4.3 pour nos fêtes de fin d'année
    , en juin dernier c'était la 4.2 et quand je l'ai acheté en février 2008, c'était la 4.1 qui venait de sortir pour noël 2007... Quelle progression ! Nous achetons de la technologie en marche, testons et recevons en retour les fruits de notre participation et critiques positives... Quel langage offre cette possibilitée aujourd'hui ?

    Et pour répondre à qui pense que ce n'est pas un outil professionnel, je rappelerai que ce n'est pas le langage qui fait le professionnel, mais ce qu'il parvient à faire avec...

    Et dans le cas de PB, les possibilités sont tellement grande et dans tout les domaines que n'importe quel vrai professionnel y trouvera ce qui lui faut pour réaliser ce qu'il aura besoin ou envie de faire... ET ce pas seulement sous Windows, mais aussi sous Linux, MacOS ou voir même AmigaDOS...

    Pour moi, avec 30 ans d'expérience, c'est l'un des meilleurs langages que j'ai déjà rencontré et déjà vu réalisé. En plus en pleine évolution avec la participation des utilisateurs que demander de plus ?

    Bonne continuation et bonne fête au PB Team aux formidables équipes que sont les "Forumeurs"
  • Progi1984
    Membre éprouvé
    Klur, enfin une bonne nouvelle... un produit qui avance en même temps que les demandes des utilisateurs.

    Maintenant reste plus qu'à migrer les codes :p
  • alphasnd
    Futur Membre du Club
    Bonsoir,

    Je suis le développeur principal de PureBasic, et Comtois m'a gentiment invité à participer au forums, donc me voila.

    Pour répondre à bombseb: théoriquement l'ouverture d'écran graphique fonctionne sur le mac. On a testé sur un 10.3.9 et 10.4.11 PPC, et 10.5 intel. Bien sûr, si cela ne fonctionne pas chez vous, veillez nous en informer, qu'on puisse corriger tout ça.

    Les démos sur le site sont bien en 4.30, malgré l'intitulé trompeur (je vais le changer de suite).

    ++
  • comtois
    Responsable Purebasic
    Merci pour ton intervention Fred.

    Tout le monde a bien compris que tu n'étais que de passage ici , que les rapports de bogues et les suggestions devaient continuer à se faire sur le forum officiel de PureBasic.

    Merci Jérôme.O[76] pour ta compréhension, et bonnes fêtes.
  • alphasnd
    Futur Membre du Club
    Je continuerai à regarder ce qu'il se dit ici avec plaisir.

    Bonnes fetes à tous.
  • bombseb
    Membre expérimenté
    Bonsoir,

    Je suis le développeur principal de PureBasic, et Comtois m'a gentiment invité à participer au forums, donc me voila.

    Pour repondre à bombseb: theoriquement l'ouverture d'ecran graphique fonctionne sur le mac. On a testé sur un 10.3.9 et 10.4.11 PPC, et 10.5 intel. Biensur, si cela ne fonctionne pas chez vous, veillez nous en informer, qu'on puisse corriger tout ca.

    Les demo sur le siote sont bien en 4.30, malgre l'intitulé trompeur (je vais le changer de suite).

    ++
    Salut Fred, c'est la première fois que je te croise sur un forum, alors déja j'en profite pour te féliciter pour tout ton bon boulot : un grand bravo pour ton langage puissant et facile à apprendre !
    J'ai switché sur mac il y a un peu plus d'un an, je bidouillais avec PB sous windows et j'ai voulu voir ce que donnais PB sur mac, et pour préciser le précédent message que j'ai posté plus haut, en fait c'est la fonction StartDrawing () qui plante chez moi (j'ai de nouveau testé ce week end avec la version de démo).

    Edit : si tu veux je pourrait te donner plus de précisions ce soir lorsque je serais devant mon mac
  • alphasnd
    Futur Membre du Club
    En effet, l'OpenGL ne permet pas l'acces au buffer video necessaire au StartDrawing(ScreenOutput()). Cependant, les sprites et le moteur 3d devraient etre fonctionnels.
  • bombseb
    Membre expérimenté
    ah bon ?
    et comment on fait alors si on veux afficher un pixel à une coordonnée précise ?