Sortie PureBasic 4.30 pour Windows
Linux et MacOS

Le , 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 : Sélectionner tout
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/docu.../PureBasic.chm

Pour finir, la version 4.40 est déjà en cours de développement et elle avance bien.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de comtois comtois - Responsable Purebasic https://www.developpez.com
le 19/12/2008 à 20:22
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.
Avatar de alphasnd alphasnd - Futur Membre du Club https://www.developpez.com
le 20/12/2008 à 15:15
Je continuerai à regarder ce qu'il se dit ici avec plaisir.

Bonnes fetes à tous.
Avatar de bombseb bombseb - Membre éclairé https://www.developpez.com
le 22/12/2008 à 13:37
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
Avatar de alphasnd alphasnd - Futur Membre du Club https://www.developpez.com
le 22/12/2008 à 19:55
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.
Avatar de bombseb bombseb - Membre éclairé https://www.developpez.com
le 23/12/2008 à 13:25
ah bon ?
et comment on fait alors si on veux afficher un pixel à une coordonnée précise ?
Avatar de comtois comtois - Responsable Purebasic https://www.developpez.com
le 23/12/2008 à 14:15
tu peux définir un sprite de la taille de ton écran et tu dessines dessus avant de l'afficher.
Enfin ça dépend de ton projet, tu peux aussi dessiner sur une image.
Avatar de bombseb bombseb - Membre éclairé https://www.developpez.com
le 23/12/2008 à 17:33
en fait j'aime bien programmer des effets de démos en 2D, est-ce qu'en passant par un sprite ca ne risque pas de tuer les perfs ???
Avatar de comtois comtois - Responsable Purebasic https://www.developpez.com
le 24/12/2008 à 11:30
Citation Envoyé par bombseb  Voir le message
en fait j'aime bien programmer des effets de démos en 2D, est-ce qu'en passant par un sprite ca ne risque pas de tuer les perfs ???

Tu devrais essayer , tu nous diras si ça tue ou non les perfs

Si tu as la version démo, effectivement les performances seront moindres car le débogueur ne peut pas être désactivé dans cette version.
Avatar de bombseb bombseb - Membre éclairé https://www.developpez.com
le 24/12/2008 à 13:43
ok et bien j'essayerais à l'occaze et je vous dirais....
Avatar de - https://www.developpez.com
le 25/12/2008 à 19:31
Salut Comtois, je te lis depuis longtemps mais jusqu'ici flemme de m'inscrire..
J'avais un blème sérieux en PB 4.2, une probable corruption de heap telle que récemment décrite dans le providentiel PB/blog que je conseille à tous quoi que si vous en arrivez là, c'est que vous avez de sérieux ennuis...... Surtout si comme moi vous faites du traitement de signal ..
Mais le Scoop , c'est que je n'ai pas eu à insérer le fameux bout de code en déplaçant l'appel de procedure de ligne en ligne pour trouver où la corruption commence : j'ai juste recompilé en 4.3 et ça marche nickel
Donc , n'hésitez pas à downloader la nouvelle version : elle est pleine de bonnes choses.

Noter que mon bug semblait provenir d'un tableau de 2Mo qui optimise l'inversion de bits d'une FFT de Mazzoni. Autant dire que j'étais en sérieuse difficulté car mes allocations dynamiques sont rarissimes et ultra sécures , bref le blème était ailleurs. Pourvu que ça ne recommence pas !!
Avatar de comtois comtois - Responsable Purebasic https://www.developpez.com
le 27/12/2008 à 9:41
Salut et bienvenue sur le forum

Ton message m'a donné une idée. En lisant que tu utilisais PureBasic pour faire du traitement de signal , et après avoir lu qu'une autre personne utilisait PureBasic pour faire du calcul de pignon et de la commande numérique de machine, je me suis dit qu'il serait intéressant de connaitre l'usage que chacun fait de PureBasic.

Je vais créer un post de ce pas.
Offres d'emploi IT
Architecte électronique de puissance expérimenté H/F
Safran - Ile de France - Villaroche - Réau
Ingénieur intégration, validation, qualification du système de drone H/F
Safran - Ile de France - Éragny (95610)
Architecte et intégrateur scade/simulink H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique PureBasic : comtois -