Migration from PureBasic 5.20 LTS to 5.40 LTS
Billboard library
AddBillboard(): code change; Old AddBillboard(Billboard, BillboardGroup, x, y, z) ; New Billboard = AddBillboard(BillboardGroup, x, y, z)
Cipher library
ExamineMD5Fingerprint(): code change; Old ExamineMD5Fingerprint(#FingerPrint) ; New UseMD5FingerPrint() StartFingerprint(#FingerPrint, #PB_Cipher_MD5)
ExamineSHA1Fingerprint(): code change; Old ExamineSHA1Fingerprint(#FingerPrint) ; New UseSHA1FingerPrint() StartFingerprint(#FingerPrint, #PB_Cipher_SHA1)
MD5FileFingerprint(): code change; Old Result$ = MD5FileFingerprint(Filename$) ; New UseMD5FingerPrint() Result$ = FileFingerprint(Filename$, #PB_Cipher_MD5)
MD5Fingerprint(): code change; Old Result$ = MD5Fingerprint(*Buffer, Size) ; New UseMD5FingerPrint() Result$ = Fingerprint(*Buffer, Size, #PB_Cipher_MD5)
SHA1FileFingerprint(): code change; Old Result$ = SHA1FileFingerprint(Filename$) ; New UseSHA1FingerPrint() Result$ = FileFingerprint(Filename$, #PB_Cipher_SHA1)
SHA1Fingerprint(): code change; Old Result$ = SHA1Fingerprint(*Buffer, Size) ; New UseSHA1FingerPrint() Result$ = Fingerprint(*Buffer, Size, #PB_Cipher_SHA1)
CRC32FileFingerprint(): code change; Old Result = CRC32FileFingerprint(Filename$) ; New UseCR32FingerPrint() Result.l = Val("$"+FileFingerprint(Filename$, #PB_Cipher_CRC32))
CRC32Fingerprint(): code change; Old Result = CRC32Fingerprint(*Buffer, Size) ; New UseCR32FingerPrint() Result.l = Val("$"+Fingerprint(*Buffer, Size, #PB_Cipher_CRC32))
NextFingerprint(): rename only; Old NextFingerprint(#FingerPrint, *Buffer, Size) ; New AddFingerprintBuffer(#FingerPrint, *Buffer, Size)
Mail library
SendMail(): code change if the 'Asynchronous' parameter was used; Old SendMail(#Mail, Smtp$, Port, 1) ; New SendMail(#Mail, Smtp$, Port, #PB_Mail_Asynchronous)
Packer library
RemovePackFile(): removed
PackerEntrySize(): #PB_Packer_CompressedSize support removed for ZIP and 7z archives
XML library
CreateXMLNode(): code change; Old Node = CreateXMLNode(ParentNode) SetXMLNodeName(Node, "Name") ; New Node = CreateXMLNode(ParentNode, "Name")
Screen library
AvailableScreenMemory() removed as new API doesn't support this info anymore. It was mostly returning '0' anyway.
Window library
#PB_Event_SizeWindow and #PB_Event_MoveWindow are no more realtime on Windows, use BindEvent() to get real time update.
Engine3D library
WorldCollisionAppliedImpulse() now returns a float about the applied impulse. GetX/Y/Z() are no more supported.
Various
DataSection label within Procedure are now local labels.
ASM local label prefix has been changed from "l_" to "ll_", to avoid possible clash with main labels.
#PB_LinkedList constant has been renamed to #PB_List for better consistancy