Migration de PureBasic 5.20 LTS vers 5.40 LTS

Bibliothèque Billboard

AddBillboard(): code changé
  ; Ancien
  AddBillboard(Billboard, BillboardGroup, x, y, z)

  ; Nouveau
  Resultat = AddBillboard(BillboardGroup, x, y, z)

Bibliothèque Cipher

ExamineMD5Fingerprint(): code changé
  ; Ancien
  ExamineMD5Fingerprint(#FingerPrint)

  ; Nouveau
  UseMD5FingerPrint()  
  StartFingerprint(#FingerPrint, #PB_Cipher_MD5)

ExamineSHA1Fingerprint(): code changé
  ; Ancien
  ExamineSHA1Fingerprint(#FingerPrint)
  
  ; Nouveau
  UseSHA1FingerPrint()
  StartFingerprint(#FingerPrint, #PB_Cipher_SHA1)

MD5FileFingerprint(): code changé
  ; Ancien
  Resultat$ = MD5FileFingerprint(Fichier$)
  
  ; Nouveau
  UseMD5FingerPrint()
  Resultat$ = FileFingerprint(Fichier$, #PB_Cipher_MD5)

MD5Fingerprint(): code changé
  ; Ancien
  Resultat$ = MD5Fingerprint(*Memoire, Taille)
  
  ; Nouveau
  UseMD5FingerPrint()
  Resultat$ = Fingerprint(*Memoire, Taille, #PB_Cipher_MD5)

SHA1FileFingerprint(): code changé
  ; Ancien
  Resultat$ = SHA1FileFingerprint(Fichier$)
  
  ; Nouveau
  UseSHA1FingerPrint()
  Resultat$ = FileFingerprint(Fichier$, #PB_Cipher_SHA1)

SHA1Fingerprint(): code changé
  ; Ancien
  Resultat$ = SHA1Fingerprint(*Memoire, Taille)
  
  ; Nouveau
  UseSHA1FingerPrint()
  Resultat$ = Fingerprint(*Memoire, Taille, #PB_Cipher_SHA1)

CRC32FileFingerprint(): code changé
  ; Ancien
  Resultat = CRC32FileFingerprint(Fichier$)
  
  ; Nouveau
  UseCR32FingerPrint()
  Resultat.l = Val("$"+FileFingerprint(Fichier$, #PB_Cipher_CRC32))

CRC32Fingerprint(): code changé
  ; Ancien
  Resultat = CRC32Fingerprint(*Memoire, Taille)
  
  ; Nouveau
  UseCRC32FingerPrint()
  Resultat.l = Val("$"+Fingerprint(*Memoire, Taille, #PB_Cipher_CRC32))

NextFingerprint(): renommé
  ; Ancien
  NextFingerprint(#FingerPrint, *Memoire, Taille)
  
  ; Nouveau
  AddFingerprintBuffer(#FingerPrint, *Memoire, Taille)

Bibliothèque Mail


SendMail(): code changé si le paramètre 'Asynchronous' est utilisé
  ; Ancien
  SendMail(#Mail, Smtp$, Port, 1)
  
  ; Nouveau
  SendMail(#Mail, Smtp$, Port, #PB_Mail_Asynchronous)

Bibliothèque Packer


RemovePackFile(): supprimé
PackerEntrySize(): #PB_Packer_CompressedSize supprimé pour les archives ZIP et 7z

Bibliothèque XML


CreateXMLNode(): code changé
  ; Ancien
  Resultat = CreateXMLNode(NoeudParent...)
  SetXMLNodeName(Noeud, Nom$)
  
  ; Nouveau
  Resultat = CreateXMLNode(NoeudParent, Nom$...)

Bibliothèque Screen


AvailableScreenMemory() Supprimée car la nouvelle API ne le prend plus en charge. Elle renvoyait toujour un zéro de toute façon.

Bibliothèque Window


#PB_Event_SizeWindow et #PB_Event_MoveWindow ne sont plus en temps réel, utiliser BindEvent()() pour avoir l'action en temps réel.

Engine3D library


WorldCollisionAppliedImpulse() renvoie maintenant un float qui est l'impulsion appliquée.
GetX/Y/Z() ne sont plus supportées.

Divers


- Les étiquettes(labels) en DataSection dans les procédures sont maintenant des étiquettes (labels) locales.
- Les préfixes des étiquettes(labels) locales en ASM ont été changées de "l_" en "ll_", afin d'éviter tout problème avec les étiquettes principales.
- La constante #PB_LinkedList a été renommée en #PB_List pour une meilleure cohérence.