Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

DirectDrawSurface::Blt in MPlayer (Developers)

posted by Japheth Homepage, Germany (South), 11.04.2013, 15:01

> it's strange the same code does work on win32 and on wine, I'll try to
> investigate

Well, I was trying to tell that there might be a bug in the HX IDirectDrawSurface::Blt function.

Without a test case I can't do much - perhaps propose a possible fix?

Add the code in the "if 1 ... endif"-block to function Blt in surface.asm:


                                mov edx, [ecx].RECT.bottom
                                sub edx, [ecx].RECT.top
                                cmp edx, dwHeight
                                jnc @F
                                mov dwHeight, edx
@@:
if 1
                        .else
                                mov ecx,[esi].DDSF.dwWidth
                                cmp ecx, dwWidth
                                jnc @F
                                mov dwWidth, ecx
@@:
                                mov edx,[esi].DDSF.dwHeight
                                cmp edx, dwHeight
                                jnc @F
                                mov dwHeight, edx
@@:
endif
                        .endif
                        mov edx, [esi].DDSF.lPitch
                        mov esi, [esi].DDSF.lpSurface

---
MS-DOS forever!

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 99 users online (0 registered, 99 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum