Instead, each error is added to a queue that you can retrieve details from by calling ErrorLog(), like so:
When an error occurs, the function that had the error returns 0 instead of forcing the game to close, which means it could potentially keep running without major problems other than a missing or misplaced object.
Code: Select all
Local errStr$ = ErrorLog() ;get first error While Len(errStr)>0 ;if string is empty, there are no more errors ;do something with errStr here errStr$ = ErrorLog() ;get next error Wend
MAV's aren't completely gone, but they should be a lot harder to get.
One instance where error checking is not performed is in WritePixelFast/ReadPixelFast, because adding that could ruin the purpose of those functions.
https://www.dropbox.com/s/6pvl4sdldd8kx ... n.zip?dl=1
To install this, rename your Blitz3D bin folder and put this one in as a replacement. Any executables produced by this version require fmod.dll to run.