- Timestamp:
- Mar 3, 2000, 8:21:26 PM (25 years ago)
- Location:
- trunk/src/ddraw
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/ddraw/OS2DDRAW.CPP
r2638 r2987 1 /* $Id: OS2DDRAW.CPP,v 1. 19 2000-02-04 19:31:23 hugh Exp $ */1 /* $Id: OS2DDRAW.CPP,v 1.20 2000-03-03 19:21:23 hugh Exp $ */ 2 2 3 3 /* … … 64 64 Vtbl3D.FindDevice = D3DFindDevice; 65 65 66 // old V2Interface66 // Org Interface 67 67 Vtbl.AddRef = DrawAddRef; 68 68 Vtbl.Release = DrawRelease; … … 86 86 Vtbl.RestoreDisplayMode = DrawRestoreDisplayMode; 87 87 Vtbl.SetCooperativeLevel = DrawSetCooperativeLevel; 88 if(lpGUID && *lpGUID == IID_IDirectDraw2) 89 *(ULONG *)&Vtbl.SetDisplayMode = (ULONG)DrawSetDisplayMode2; 90 else 91 *(ULONG *)&Vtbl.SetDisplayMode = (ULONG)DrawSetDisplayMode; 88 Vtbl.SetDisplayMode = DrawSetDisplayMode; 92 89 Vtbl.WaitForVerticalBlank = DrawWaitForVerticalBlank; 93 Vtbl.GetAvailableVidMem = DrawGetAvailableVidMem; 90 91 // V2 Interface 92 93 Vtbl2.AddRef = DrawAddRef; 94 Vtbl2.Release = DrawRelease; 95 Vtbl2.QueryInterface = DrawQueryInterface; 96 Vtbl2.Compact = DrawCompact; 97 Vtbl2.CreateClipper = DrawCreateClipper; 98 Vtbl2.CreatePalette = DrawCreatePalette; 99 Vtbl2.CreateSurface = DrawCreateSurface; 100 Vtbl2.DuplicateSurface = DrawDuplicateSurface; 101 Vtbl2.EnumDisplayModes = DrawEnumDisplayModes; 102 Vtbl2.EnumSurfaces = DrawEnumSurfaces; 103 Vtbl2.FlipToGDISurface = DrawFlipToGDISurface; 104 Vtbl2.GetCaps = DrawGetCaps; 105 Vtbl2.GetDisplayMode = DrawGetDisplayMode; 106 Vtbl2.GetFourCCCodes = DrawGetFourCCCodes; 107 Vtbl2.GetGDISurface = DrawGetGDISurface; 108 Vtbl2.GetMonitorFrequency = DrawGetMonitorFrequency; 109 Vtbl2.GetScanLine = DrawGetScanLine; 110 Vtbl2.GetVerticalBlankStatus = DrawGetVerticalBlankStatus; 111 Vtbl2.Initialize = DrawInitialize; 112 Vtbl2.RestoreDisplayMode = DrawRestoreDisplayMode; 113 Vtbl2.SetCooperativeLevel = DrawSetCooperativeLevel; 114 Vtbl2.SetDisplayMode = DrawSetDisplayMode2; 115 Vtbl2.WaitForVerticalBlank = DrawWaitForVerticalBlank; 116 Vtbl2.GetAvailableVidMem = DrawGetAvailableVidMem; 94 117 95 118 // New V4 interface … … 251 274 else 252 275 { 253 dprintf(("DDRAW: No IID_IDirectDraw4 Interface\n")); 254 me->lpVtbl = (IDirectDraw4Vtbl *) &me->Vtbl; 276 if(IsEqualGUID(riid, IID_IDirectDraw2)) 277 { 278 dprintf(("DDRAW: IID_IDirectDraw2 Interface\n")); 279 me->lpVtbl = (IDirectDraw4Vtbl *) &me->Vtbl2; 280 } 281 else 282 { 283 dprintf(("DDRAW: IID_IDirectDraw Interface\n")); 284 me->lpVtbl = (IDirectDraw4Vtbl *) &me->Vtbl; 285 } 255 286 } 256 287 } -
trunk/src/ddraw/OS2DDRAW.H
r2174 r2987 1 /* $Id: OS2DDRAW.H,v 1. 9 1999-12-21 01:28:19hugh Exp $ */1 /* $Id: OS2DDRAW.H,v 1.10 2000-03-03 19:21:26 hugh Exp $ */ 2 2 3 3 /* … … 40 40 // ToDO : 41 41 // debug into DirectDrawCreate and se what MS is doing ! 42 IDirectDraw2Vtbl Vtbl; 42 IDirectDrawVtbl Vtbl; 43 IDirectDraw2Vtbl Vtbl2; 43 44 // MS did it again with direct/X 6 they changed the behavior of the directdraw component 44 45 // So we now need 2 Virt. Tables one for the old and one for the new so we return the -
trunk/src/ddraw/OS2SURFACE.CPP
r2638 r2987 1 /* $Id: OS2SURFACE.CPP,v 1.2 3 2000-02-04 19:31:24 hugh Exp $ */1 /* $Id: OS2SURFACE.CPP,v 1.24 2000-03-03 19:21:24 hugh Exp $ */ 2 2 3 3 /* … … 1242 1242 dwPitchFB = DDSurfaceDesc.dwWidth * (dwBpp<8?1:dwBpp/8); 1243 1243 dwPitchFB = (dwPitchFB +7) & ~7; // Align on QWords 1244 DDSurfaceDesc.lPitch = dwPitchFB; 1244 1245 #ifdef DEBUG 1245 1246 if(dwBpp<8) … … 2191 2192 2192 2193 #ifdef DEBUG 2194 dprintf(("DDRAW: SurfBlt4 To Surf %08X, from Surf %08X\n",dest,src)); 2193 2195 if ( (NULL!=lpDestRect)&& (NULL!=lpSrcRect)) 2194 2196 dprintf(("DDRAW: SurfBlt4 to (%d,%d)(%d,%d) at %08X from (%d,%d)(%d,%d) at %08X\n", lpDestRect->left, lpDestRect->top, … … 3838 3840 if(-1 != me->diveBufNr) 3839 3841 { 3840 dprintf(("DDRAW: DIVE Flipchain DiveBuffer #%d",FlipSurface->diveBufNr));3842 //dprintf(("DDRAW: DIVE Flipchain DiveBuffer #%d",FlipSurface->diveBufNr)); 3841 3843 3842 3844 // we got some DIVE surfaces … … 3845 3847 // Doulebuffering should work best. 3846 3848 3847 rc = DiveBlitImage(me->hDive, FlipSurface->diveBufNr, me->diveBufNr); 3848 3849 #ifdef DEBUG 3850 dprintf(("DDRAW: DiveBlitImage rc = 0x%08X\n")); 3851 #endif 3849 //rc = DiveBlitImage(me->hDive, FlipSurface->diveBufNr, me->diveBufNr); 3850 //dprintf(("DDRAW: DiveBlitImage rc = 0x%08X\n")); 3851 SurfBltFast4( me, 3852 0, 3853 0, 3854 (LPDIRECTDRAWSURFACE4)FlipSurface, 3855 NULL, 3856 DDBLTFAST_NOCOLORKEY); 3852 3857 3853 3858 if(NULL==lpDDSurf) … … 3855 3860 // advance in the flipchain if no valid override surface was passed in 3856 3861 // if we reached the end of the flipchain The Frontbuffer is the next to flip to 3857 me->NextFlip = FlipSurface->BackBuffer!=NULL?FlipSurface->BackBuffer:me ;//me->FrontBuffer;3862 me->NextFlip = FlipSurface->BackBuffer!=NULL?FlipSurface->BackBuffer:me->BackBuffer; 3858 3863 } 3859 3864 } -
trunk/src/ddraw/colorconv.cpp
r2206 r2987 1 /* $Id: colorconv.cpp,v 1. 2 1999-12-26 23:53:39hugh Exp $ */1 /* $Id: colorconv.cpp,v 1.3 2000-03-03 19:21:21 hugh Exp $ */ 2 2 3 3 /* … … 27 27 char *pSrcLine, *pDstLine; 28 28 29 dprintf(("DDRAW: Conv8to16 \n"));29 dprintf(("DDRAW: Conv8to16(%d,%d ,%d,%d)\n",dwTop,dwLeft,dwWidth,dwHeight)); 30 30 31 31 pSrcLine = pFB + (dwTop*dwPitchDB) + dwLeft; -
trunk/src/ddraw/ddraw.CPP
r2638 r2987 1 /* $Id: ddraw.CPP,v 1.1 1 2000-02-04 19:31:23hugh Exp $ */1 /* $Id: ddraw.CPP,v 1.12 2000-03-03 19:21:22 hugh Exp $ */ 2 2 3 3 /* … … 45 45 else 46 46 { 47 newdraw->Vtbl.AddRef((IDirectDraw *)newdraw);47 newdraw->Vtbl.AddRef((IDirectDraw2 *)newdraw); 48 48 rc = newdraw->GetLastError(); 49 49 if(rc != DD_OK)
Note:
See TracChangeset
for help on using the changeset viewer.