Ignore:
Timestamp:
Feb 4, 2000, 8:31:26 PM (26 years ago)
Author:
hugh
Message:

Bugfixes at many places

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ddraw/OS2DDRAW.CPP

    r2174 r2638  
    1 /* $Id: OS2DDRAW.CPP,v 1.18 1999-12-21 01:28:15 hugh Exp $ */
     1/* $Id: OS2DDRAW.CPP,v 1.19 2000-02-04 19:31:23 hugh Exp $ */
    22
    33/*
     
    9999  Vtbl4.Compact                = DrawCompact;
    100100  Vtbl4.CreateClipper          = DrawCreateClipper;
     101  Vtbl4.CreatePalette          = DrawCreatePalette;
    101102  Vtbl4.CreateSurface          = DrawCreateSurface4;//
    102103  Vtbl4.DuplicateSurface       = DrawDuplicateSurface4;//
     
    231232     !IsEqualGUID(riid, IID_IDirectDraw) &&
    232233     !IsEqualGUID(riid, IID_IDirectDraw2) &&
    233      !IsEqualGUID(riid, IID_IDirectDraw4))
     234     !IsEqualGUID(riid, IID_IDirectDraw4) &&
     235     !IsEqualGUID(riid, IID_IDirect3D))
    234236//&& !IsEqualGUID(riid, IID_IUnknown))
    235237  return E_NOINTERFACE;
    236238
    237239  // ToDo Better way of returning differnent intterfaces for same class
    238 
    239   if(IsEqualGUID(riid, IID_IDirectDraw4))
    240   {
    241     dprintf(("DDRAW: IID_IDirectDraw4 Interface\n"));
    242     me->lpVtbl = &me->Vtbl4;
     240  if(IsEqualGUID(riid, IID_IDirect3D))
     241  {
     242    me->lpVtbl = (IDirectDraw4Vtbl *) &me->Vtbl3D;
    243243  }
    244244  else
    245245  {
    246     dprintf(("DDRAW: No IID_IDirectDraw4 Interface\n"));
    247     me->lpVtbl = (IDirectDraw4Vtbl *) &me->Vtbl;
    248   }
     246    if(IsEqualGUID(riid, IID_IDirectDraw4))
     247    {
     248      dprintf(("DDRAW: IID_IDirectDraw4 Interface\n"));
     249      me->lpVtbl = &me->Vtbl4;
     250    }
     251    else
     252    {
     253      dprintf(("DDRAW: No IID_IDirectDraw4 Interface\n"));
     254      me->lpVtbl = (IDirectDraw4Vtbl *) &me->Vtbl;
     255    }
     256  }
     257  me->lpVtbl2 = me->lpVtbl;
    249258  *ppvObj = This;
    250259  DrawAddRef(This);
     
    14461455    return(DDERR_INVALIDPARAMS);
    14471456
    1448 
     1457  #if 0
    14491458    rc = io_init1();
    14501459
     
    14581467    return(DD_OK);
    14591468  }
    1460 
     1469  #else
     1470    *lpbIsInVB = ! (*lpbIsInVB);
     1471  #endif
    14611472  return(DDERR_UNSUPPORTED);
    14621473}
     
    15451556  rc = DiveSetupBlitter( me->hDive,
    15461557                         &sBlt);
     1558  dprintf(("       DiveSetupBlitter rc=%d",rc));
    15471559
    15481560  return(DD_OK);
     
    15571569 SETUP_BLITTER sBlt;
    15581570
    1559 #ifdef DEBUG
    15601571  dprintf(("DDRAW: SetDisplayMode to %dx%d with %d bits colors\n", dwWidth, dwHeight, dwBPP));
    1561 #endif
     1572
    15621573  me->screenwidth  = dwWidth;
    15631574  me->screenheight = dwHeight;
     
    15871598  rc = DiveSetupBlitter( me->hDive,
    15881599                         &sBlt);
     1600  dprintf(("       DiveSetupBlitter rc=%d",rc));
    15891601
    15901602  return(DD_OK);
Note: See TracChangeset for help on using the changeset viewer.