11-19-2022, 12:58 AM
Seems to me that the glitch would be right here:
Snows are hardware images. Hardware images need _DISPLAY before they can be rendered and cleared out of the GPU. The FOR loop that you have there at the end is pumping the GPU buffers full of images, and it never empties out those buffers. After a zillion images are stacked in that buffer, something just glitches out somewhere and the program locks up waiting for those to be cleared before exiting completely.
Seems to me that QB64 should do some clean up here (if it possibly can), before attempting to close and freezing up.
Fix, for now, is to make certain that you have a nice _DISPLAY in place before that SYSTEM statement.
Code: (Select All)
_PutImage (flake.x(f), flake.y(f))-Step(30 * flake.s(f), 30 * flake.s(f)), snows(flake.a(f))
Code: (Select All)
snows(I) = _CopyImage(flake&, 33)
Snows are hardware images. Hardware images need _DISPLAY before they can be rendered and cleared out of the GPU. The FOR loop that you have there at the end is pumping the GPU buffers full of images, and it never empties out those buffers. After a zillion images are stacked in that buffer, something just glitches out somewhere and the program locks up waiting for those to be cleared before exiting completely.
Seems to me that QB64 should do some clean up here (if it possibly can), before attempting to close and freezing up.
Fix, for now, is to make certain that you have a nice _DISPLAY in place before that SYSTEM statement.