Ah, yes, I've seen that picture somewhere before, lol.
It happens because the backbuffer isn't cleared before the next frame gets blitted to it.
The quick fix is popping this little bit of code into
Sub GameLoop in both the dev and game clients.
Code:
With rec
.Top = 0
.Bottom = (MAX_MAPY + 1) * PIC_Y
.Left = 0
.Right = (MAX_MAPX + 1) * PIC_X
End With
DD_BackBuffer.BltColorFill rec, RGB(0, 0, 0)
Put it just after the check to see if the surfaces need restoring at the top of the sub.
Code:
' Check if we need to restore surfaces
If NeedToRestoreSurfaces Then
DD.RestoreAllSurfaces
Call InitSurfaces
End If
That should sort that out.
N.B. I noticed some more of my code in
modDirectX is stuffed up too.
Where the surfaces are intialised.