1. draw_sprite failure to find correct place
2. system_bitmap with subbitmaps crashes when you destroy the subbitmaps
From testing I've found that when you draw_sprite a subbitmap of a video or system bitmap onto a different system or video bitmap, it doubles the x/y and you end up with the wrong portion showing (this is following from my thread trying to explain things).Also, I've found through testing that if you have a subbitmap of a system bitmap when you try to destroy the subbitmaps you get a crash. Video and memory bitmaps are ok.
Attached is a sample piece of code and some windows exe's to show how subbitmaps onto video or system bitmaps don't work, and how system bitmaps that have subbitmaps crash the system.
As you can see from the images, 'original.jpg' is how it works fine with memory bitmaps, but when you use video/system bitmaps you get it wrong, as in 'doublingerror.jpg'. sheet.bmp is the source bitmap.
If you look closely you can see what is happening is it is doubling the x and y position when you blit a video/memory subbitmap onto a system/video bitmap.
1. if you compile as is, it will work.
2. if you uncomment the line: //#define nonmemorybitmap you will get the error
3. if you change the line 41 to system bitmap you get the crash.
masked blit is fine. The problem, I believe, is the bit of code in the windows acceleration source file for draw_sprite that tries to determine the correct place.