- Timestamp:
- Mar 18, 2000, 10:17:58 PM (26 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
changelog (modified) (9 diffs)
-
src/ddraw/OS2SURFACE.CPP (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/changelog
r3158 r3161 1 /* $Id: changelog,v 1.817 2000-03-18 19:47:38 sandervl Exp $ */ 1 /* $Id: changelog,v 1.818 2000-03-18 21:17:55 mike Exp $ */ 2 3 2000-03-18: Michal Necasek <mike@mendelu.cz> 4 - DDRAW: Fixed messed up DPA callback calling convention 5 Added some transparent blit code which was 6 mysteriously missing 2 7 3 8 2000-03-18: Edgar Buerkle <Edgar.Buerkle@gmx.net> 4 - MSVCRT: Implemented _EH_prolog9 - MSVCRT: Implemented _EH_prolog 5 10 6 11 2000-03-18: Christoph Bratschi <cbratschi@datacomm.ch> 7 - USER32: merged with Corel WINE 200003178 added GCL_HICONSM support9 fixed messagebox with no icon10 - COMCTL32: merged with Corel WINE 20000317 + bug fixes12 - USER32: merged with Corel WINE 20000317 13 added GCL_HICONSM support 14 fixed messagebox with no icon 15 - COMCTL32: merged with Corel WINE 20000317 + bug fixes 11 16 12 17 2000-03-18: Sander van Leeuwen <sandervl@xs4all.nl> 13 - ODINCRT: Added FS wrapper for _fdopen 18 - ODINCRT: Added FS wrapper for _fdopen 14 19 (fixes crash at exit in Professional MineSweeper when 15 20 selection About Odin from the system menu) 16 21 17 22 2000-03-17: Christoph Bratschi <cbratschi@datacomm.ch> 18 - COMCTL32: fixed trackbar buddy alignment19 added useful internal tooltip styles23 - COMCTL32: fixed trackbar buddy alignment 24 added useful internal tooltip styles 20 25 21 26 2000-03-17: Sander van Leeuwen <sandervl@xs4all.nl> 22 - WSOCK32: Semaphore protection for relay slot alloc/free27 - WSOCK32: Semaphore protection for relay slot alloc/free 23 28 Fixed bug in WSAAsyncSelect. Allow more than one 24 29 async call per window for RelayAlloc call. If it's not … … 26 31 overwriting slots for other async calls. (WSAAsyncGetHostName 27 32 in RealPlayer 7) 28 - KERNEL32: Fixed handle creation for thread 0.33 - KERNEL32: Fixed handle creation for thread 0. 29 34 30 35 2000-03-16: knut st. osmundsen <knut.stange.osmundse@pmsc.no> … … 40 45 41 46 2000-03-16: Sander van Leeuwen <sandervl@xs4all.nl> 42 - USER32: Fixed virtual keycode of return key47 - USER32: Fixed virtual keycode of return key 43 48 TODO: Not done for all keys. Should probably looks at the 44 49 scancode (not virtual char) to translate keys. 45 - GDI32: RP7 calls CreateDIBSection with HDC 0; Call50 - GDI32: RP7 calls CreateDIBSection with HDC 0; Call 46 51 GetWindowDC(GetDesktopWindow()) in that case 47 52 -> fixes crash (result of CreateDIBSection failure) … … 49 54 this to be sure nothing else caused this problem. 50 55 (Note: most recent RealPlayer 7 version only) 51 - KERNEL32: Semaphore protection of handle alloc56 - KERNEL32: Semaphore protection of handle alloc 52 57 Added handlemanager class for thread handles 53 58 Added workaround for Open32 WaitForSingleObject bug … … 60 65 61 66 2000-03-14: Christoph Bratschi <cbratschi@datacomm.ch> 62 - USER32: implemented much faster LB_SETCOUNT67 - USER32: implemented much faster LB_SETCOUNT 63 68 64 69 2000-03-12: Sander van Leeuwen <sandervl@xs4all.nl> 65 - USER32: Put back check (oldsel == newsel) in LISTBOX_SetSelection70 - USER32: Put back check (oldsel == newsel) in LISTBOX_SetSelection 66 71 (why was this commented out?) 67 72 Fixed combobox: Clear CBF_SELCHANGE flag before calling … … 71 76 -> fixes infinite loops in RealPlayer 7 (type name of file 72 77 previously used in edit box; last letter entered -> crash) 73 AdjustWindowRectEx bugfix (reported by Robert Lalla)78 AdjustWindowRectEx bugfix (reported by Robert Lalla) 74 79 Don't clear WS_POPUP flag. (HAS_THINFRAME depends on it) 75 80 -> fixes wrong resolution changes in Quake 2 76 81 Don't clear WS_CHILD flag either. (HAS_THICKFRAME depends on it) 77 82 78 - KERNEL32: Clear FILE_SHARE_DELETE flag before calling Open32's83 - KERNEL32: Clear FILE_SHARE_DELETE flag before calling Open32's 79 84 CreateFile. (otherwise it fails) -> fixes RealPlayer 7 80 85 Basic (new update). … … 87 92 88 93 2000-03-12: Markus Montkowski <mmontkowski@gmx.de> 89 - KERNEL32: Added fix for GetFileAttributes. Open32 doesn't like94 - KERNEL32: Added fix for GetFileAttributes. Open32 doesn't like 90 95 i.e. 'c:'; needs to be changed into 'c:\' 91 96 92 97 2000-03-12: Sander van Leeuwen <sandervl@xs4all.nl> 93 - include\winconst.h: Fixed KEY_ALL_ACCESS definition98 - include\winconst.h: Fixed KEY_ALL_ACCESS definition 94 99 (reported by Yuri Dario) 95 - DSOUND: Replaced dsound by new version96 - USER32: Replaced os2.h includes by os2wrap.h100 - DSOUND: Replaced dsound by new version 101 - USER32: Replaced os2.h includes by os2wrap.h 97 102 Set message nr, wParam & lParam to 0 for dummy messages 98 103 (to prevent keyboard or mouse messages swallowed by dinput 99 104 from being dispatched) 100 - KERNEL32: Replaced os2.h includes by os2wrap.h (cvtcursorgrp & oslibdebug)105 - KERNEL32: Replaced os2.h includes by os2wrap.h (cvtcursorgrp & oslibdebug) 101 106 - WSOCK32: Fixed bug in setsockopt for SO_SNDBUF/SO_RCVBUF (OS/2's 102 107 winsock returns WSAEINVAL if size > 64k) … … 106 111 107 112 2000-03-11: Przemyslaw Dobrowolski <dobrawka@asua.org.pl> 108 - OPENGL\GLIDE: Fix for Voodoo 1 glide (missing io ports)113 - OPENGL\GLIDE: Fix for Voodoo 1 glide (missing io ports) 109 114 110 115 2000-03-11: knut st. osmundsen <knut.stange.osmundse@pmsc.no> … … 115 120 116 121 2000-03-11: Sander van Leeuwen <sandervl@xs4all.nl> 117 - OPENGL\GLUT: Fixed compile problems + cleanup122 - OPENGL\GLUT: Fixed compile problems + cleanup 118 123 (use C(XX)FLAGS_WIN32APP so you don't have to 119 124 explicitely specify which api type you use (ascii or unicode)!) 120 125 121 - OPENGL\GLIDE: Fixed wrong binary path for voodoo1 glide122 - include\win\debugtools.h: Disable TRACE, WARN etc when DEBUG is not defined126 - OPENGL\GLIDE: Fixed wrong binary path for voodoo1 glide 127 - include\win\debugtools.h: Disable TRACE, WARN etc when DEBUG is not defined 123 128 124 129 2000-03-11: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl> -
trunk/src/ddraw/OS2SURFACE.CPP
r2987 r3161 1 /* $Id: OS2SURFACE.CPP,v 1.2 4 2000-03-03 19:21:24 hughExp $ */1 /* $Id: OS2SURFACE.CPP,v 1.25 2000-03-18 21:17:58 mike Exp $ */ 2 2 3 3 /* … … 1665 1665 //****************************************************************************** 1666 1666 // Internal callbacks uses by destructor 1667 intDestroyRects(LPVOID lpItem, DWORD dwRes)1667 INT CALLBACK DestroyRects(LPVOID lpItem, DWORD dwRes) 1668 1668 { 1669 1669 DDRectangle *pItem = (DDRectangle*) lpItem; … … 1672 1672 } 1673 1673 1674 intReleaseSurfaces(LPVOID lpItem, DWORD dwRes)1674 INT CALLBACK ReleaseSurfaces(LPVOID lpItem, DWORD dwRes) 1675 1675 { 1676 1676 OS2IDirectDrawSurface *pSurf; … … 1722 1722 { 1723 1723 DPA_DestroyCallback( DPA_LockedRects, 1724 (DPAENUMPROC)DestroyRects,1724 DestroyRects, 1725 1725 0); 1726 1726 } … … 1750 1750 { 1751 1751 DPA_DestroyCallback( DPA_SurfaceMipMaps, 1752 (DPAENUMPROC)ReleaseSurfaces,1752 ReleaseSurfaces, 1753 1753 0); 1754 1754 } … … 1757 1757 { 1758 1758 DPA_DestroyCallback( DPA_SurfaceAttached, 1759 (DPAENUMPROC)ReleaseSurfaces,1759 ReleaseSurfaces, 1760 1760 0); 1761 1761 } … … 2296 2296 { 2297 2297 delete pIRectDest; 2298 #ifdef DEBUG 2299 dprintf(("DDRAW: Blt: Dest Surface partly locked\n")); 2300 #endif 2298 dprintf(("DDRAW: Blt: Dest Surface partly locked\n")); 2301 2299 return(DDERR_SURFACEBUSY); 2302 2300 } … … 2380 2378 if(NULL==src) 2381 2379 { 2382 #ifdef DEBUG 2383 dprintf(("DDRAW: Unsupported sourceless FX operation. Flags = 0x%04X\n",dwFlags)); 2384 #endif 2380 dprintf(("DDRAW: Unsupported sourceless FX operation. Flags = 0x%04X\n",dwFlags)); 2381 2385 2382 return DD_OK; 2386 2383 } … … 2479 2476 { 2480 2477 delete pIRectSrc; 2481 #ifdef DEBUG 2482 dprintf(("DDRAW: Blt: Src Surface partly locked\n")); 2483 #endif 2478 dprintf(("DDRAW: Blt: Src Surface partly locked\n")); 2479 2484 2480 return(DDERR_SURFACEBUSY); 2485 2481 } … … 2489 2485 ( (NULL==lpSrcRect) && (NULL!=lpDestRect) ) ) 2490 2486 { 2491 #ifdef DEBUG 2492 dprintf(("DDRAW: Blitting with scaleing\n Not supported.\n")); 2493 #endif 2487 dprintf(("DDRAW: Blitting with scaleing\n Not supported.\n")); 2488 2494 2489 return DDERR_NOSTRETCHHW; 2495 2490 } … … 2994 2989 else 2995 2990 { 2991 // This will be be slow maybe move to ASM ? 2992 // using MMX should be much faster 2993 switch(dest->dwBytesPPDive) 2994 { 2995 case 1: 2996 while(BlitHeight--) 2997 { 2998 x = 0; 2999 while(x<BlitWidth) 3000 { 3001 if(pSrcPos[x] != (char) dwSrcColor) 3002 { 3003 pBltPos[x] = pSrcPos[x]; 3004 } 3005 x++; 3006 } 3007 pBltPos += dwPitch; 3008 pSrcPos += src->dwPitchDB; 3009 } 3010 break; 3011 case 2: 3012 while(BlitHeight--) 3013 { 3014 x = 0; 3015 while(x<BlitWidth) 3016 { 3017 if(((USHORT*)pSrcPos)[x] != (USHORT) dwSrcColor) 3018 { 3019 ((USHORT*)pBltPos)[x] = ((USHORT*)pSrcPos)[x]; 3020 } 3021 x++; 3022 } 3023 pBltPos += dwPitch; 3024 pSrcPos += src->dwPitchDB; 3025 } 3026 break; 3027 case 3: 3028 { 3029 char *pSC, *pDC; 3030 pSC = (char*)&dwSrcColor; 3031 pDC = (char*)&dwDestColor; 3032 BlitWidth *=3; 3033 3034 while(BlitHeight--) 3035 { 3036 x = 0; 3037 3038 while(x<BlitWidth) 3039 { 3040 if( (pSrcPos[x] != pSC[1]) && 3041 (pSrcPos[x+1] != pSC[2]) && 3042 (pSrcPos[x+2] != pSC[3]) 3043 ) 3044 { 3045 pBltPos[x] = pSrcPos[x]; 3046 pBltPos[x+1] = pSrcPos[x+2]; 3047 pBltPos[x+1] = pSrcPos[x+2]; 3048 } 3049 x +=3; 3050 } 3051 pBltPos += dwPitch; 3052 pSrcPos += src->dwPitchDB; 3053 } 3054 break; 3055 } 3056 case 4: 3057 while(BlitHeight--) 3058 { 3059 x = 0; 3060 while(x<BlitWidth) 3061 { 3062 if(((DWORD*)pSrcPos)[x] != dwSrcColor) 3063 { 3064 ((DWORD*)pBltPos)[x] = ((DWORD*)pSrcPos)[x]; 3065 } 3066 x++; 3067 } 3068 pBltPos += dwPitch; 3069 pSrcPos += src->dwPitchDB; 3070 } 3071 break; 3072 } // End switch 2996 3073 // Only Source colorkey 2997 3074 }
Note:
See TracChangeset
for help on using the changeset viewer.
