BOOL __stdcall _SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect) { // Recording code to copy data over to a standard buffer, // and also to hide the "Recording" message from the video. if ( recordingStarted && pVidBuffer && lpSurface ) { recordingUpdated = true; if ( !lpRect && wmode ) { // Copy the buffer data memcpy(pVidBuffer, lpSurface, 640*480); // Notify that it is recording BW::Bitmap tmpBmp(640, 480, lpSurface); tmpBmp.blitString("\x07" "Recording", 406, 346, 0); } } if ( !wmode ) { if ( _SDrawUnlockSurfaceOld ) return _SDrawUnlockSurfaceOld(surfacenumber, lpSurface, a3, lpRect); return SDrawUnlockSurface(surfacenumber, lpSurface, a3, lpRect); } if ( ghMainWnd && lpSurface ) { gbWantUpdate = true; InvalidateRect(ghMainWnd, lpRect, FALSE); } return TRUE; }
BOOL __stdcall _SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect) { if ( !wmode ) { if ( _SDrawUnlockSurfaceOld ) return _SDrawUnlockSurfaceOld(surfacenumber, lpSurface, a3, lpRect); return SDrawUnlockSurface(surfacenumber, lpSurface, a3, lpRect); } if ( ghMainWnd && lpSurface ) { gbWantUpdate = true; InvalidateRect(ghMainWnd, lpRect, FALSE); } return TRUE; }