main.c

来自「Wine-20031016」· C语言 代码 · 共 1,643 行 · 第 1/5 页

C
1,643
字号
    TRACE("(%p/%p)->(%08lx,%p,%08lx)\n", This, iface, dwDevInfoID, pDevInfoStruct, dwSize);    if (TRACE_ON(ddraw)) {        TRACE(" info requested : ");	switch (dwDevInfoID) {	    case D3DDEVINFOID_TEXTUREMANAGER: TRACE("D3DDEVINFOID_TEXTUREMANAGER\n"); break;	    case D3DDEVINFOID_D3DTEXTUREMANAGER: TRACE("D3DDEVINFOID_D3DTEXTUREMANAGER\n"); break;	    case D3DDEVINFOID_TEXTURING: TRACE("D3DDEVINFOID_TEXTURING\n"); break;	    default: ERR(" invalid flag !!!\n"); return DDERR_INVALIDPARAMS;	}    }    return S_FALSE; /* According to MSDN, this is valid for a non-debug driver */}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_1T_GetCaps(LPDIRECT3DDEVICE3 iface,                                         LPD3DDEVICEDESC lpD3DHWDevDesc,                                         LPD3DDEVICEDESC lpD3DHELDevDesc){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%p,%p): stub!\n", This, iface, lpD3DHWDevDesc, lpD3DHELDevDesc);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_1T_GetStats(LPDIRECT3DDEVICE3 iface,                                          LPD3DSTATS lpD3DStats){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%p): stub!\n", This, iface, lpD3DStats);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_1T_AddViewport(LPDIRECT3DDEVICE3 iface,					     LPDIRECT3DVIEWPORT3 lpDirect3DViewport3){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    IDirect3DViewportImpl *lpDirect3DViewportImpl = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, lpDirect3DViewport3);        TRACE("(%p/%p)->(%p)\n", This, iface, lpDirect3DViewport3);    lpDirect3DViewportImpl->next = This->viewport_list;    This->viewport_list = lpDirect3DViewportImpl;        return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_1T_DeleteViewport(LPDIRECT3DDEVICE3 iface,						LPDIRECT3DVIEWPORT3 lpDirect3DViewport3){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    IDirect3DViewportImpl *lpDirect3DViewportImpl = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, lpDirect3DViewport3);    IDirect3DViewportImpl *cur_viewport, *prev_viewport = NULL;      TRACE("(%p/%p)->(%p)\n", This, iface, lpDirect3DViewport3);    cur_viewport = This->viewport_list;    while (cur_viewport != NULL) {        if (cur_viewport == lpDirect3DViewportImpl) {	    if (prev_viewport == NULL) This->viewport_list = cur_viewport->next;	    else prev_viewport->next = cur_viewport->next;	    /* TODO : add desactivate of the viewport and all associated lights... */	    return DD_OK;	}	prev_viewport = cur_viewport;	cur_viewport = cur_viewport->next;    }        return DDERR_INVALIDPARAMS;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_1T_NextViewport(LPDIRECT3DDEVICE3 iface,					      LPDIRECT3DVIEWPORT3 lpDirect3DViewport3,					      LPDIRECT3DVIEWPORT3* lplpDirect3DViewport3,					      DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    IDirect3DViewportImpl *res = NULL;    TRACE("(%p/%p)->(%p,%p,%08lx)\n", This, iface, lpDirect3DViewport3, lplpDirect3DViewport3, dwFlags);        switch (dwFlags) {        case D3DNEXT_NEXT: {	    IDirect3DViewportImpl *lpDirect3DViewportImpl = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, lpDirect3DViewport3);	    res = lpDirect3DViewportImpl->next;	} break;	case D3DNEXT_HEAD: {	    res = This->viewport_list;	} break;	case D3DNEXT_TAIL: {	    IDirect3DViewportImpl *cur_viewport = This->viewport_list;	    if (cur_viewport != NULL) {	        while (cur_viewport->next != NULL) cur_viewport = cur_viewport->next;	    }	    res = cur_viewport;	} break;	default:	    *lplpDirect3DViewport3 = NULL;	    return DDERR_INVALIDPARAMS;    }    *lplpDirect3DViewport3 = ICOM_INTERFACE(res, IDirect3DViewport3);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_SetCurrentViewport(LPDIRECT3DDEVICE3 iface,						 LPDIRECT3DVIEWPORT3 lpDirect3DViewport3){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    TRACE("(%p/%p)->(%p)\n", This, iface, lpDirect3DViewport3);    /* Do nothing if the specified viewport is the same as the current one */    if (This->current_viewport == ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, lpDirect3DViewport3))      return DD_OK;        /* Should check if the viewport was added or not */    /* Release previous viewport and AddRef the new one */    if (This->current_viewport)      IDirect3DViewport3_Release(ICOM_INTERFACE(This->current_viewport, IDirect3DViewport3));    IDirect3DViewport3_AddRef(lpDirect3DViewport3);        /* Set this viewport as the current viewport */    This->current_viewport = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, lpDirect3DViewport3);    /* Activate this viewport */    This->current_viewport->active_device = This;    This->current_viewport->activate(This->current_viewport);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_GetCurrentViewport(LPDIRECT3DDEVICE3 iface,						 LPDIRECT3DVIEWPORT3* lplpDirect3DViewport3){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    TRACE("(%p/%p)->(%p)\n", This, iface, lplpDirect3DViewport3);    *lplpDirect3DViewport3 = ICOM_INTERFACE(This->current_viewport, IDirect3DViewport3);    /* AddRef the returned viewport */    IDirect3DViewport3_AddRef(*lplpDirect3DViewport3);        TRACE(" returning interface %p\n", *lplpDirect3DViewport3);        return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_Begin(LPDIRECT3DDEVICE3 iface,                                 D3DPRIMITIVETYPE d3dptPrimitiveType,                                 DWORD dwVertexTypeDesc,                                 DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%08x,%08lx,%08lx): stub!\n", This, iface, d3dptPrimitiveType, dwVertexTypeDesc, dwFlags);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_BeginIndexed(LPDIRECT3DDEVICE3 iface,                                        D3DPRIMITIVETYPE d3dptPrimitiveType,                                        DWORD d3dvtVertexType,                                        LPVOID lpvVertices,                                        DWORD dwNumVertices,                                        DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%08x,%08lx,%p,%08lx,%08lx): stub!\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwNumVertices, dwFlags);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_Vertex(LPDIRECT3DDEVICE3 iface,                                     LPVOID lpVertexType){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%p): stub!\n", This, iface, lpVertexType);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_Index(LPDIRECT3DDEVICE3 iface,                                    WORD wVertexIndex){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%04x): stub!\n", This, iface, wVertexIndex);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_End(LPDIRECT3DDEVICE3 iface,                                  DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%08lx): stub!\n", This, iface, dwFlags);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_GetLightState(LPDIRECT3DDEVICE3 iface,                                            D3DLIGHTSTATETYPE dwLightStateType,                                            LPDWORD lpdwLightState){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%08x,%p): stub !\n", This, iface, dwLightStateType, lpdwLightState);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_3_2T_SetLightState(LPDIRECT3DDEVICE3 iface,                                            D3DLIGHTSTATETYPE dwLightStateType,                                            DWORD dwLightState){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface);    FIXME("(%p/%p)->(%08x,%08lx): stub!\n", This, iface, dwLightStateType, dwLightState);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_2_1T_SwapTextureHandles(LPDIRECT3DDEVICE2 iface,                                                 LPDIRECT3DTEXTURE2 lpD3DTex1,                                                 LPDIRECT3DTEXTURE2 lpD3DTex2){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface);    IDirectDrawSurfaceImpl tmp,*surf1,*surf2;    TRACE("(%p/%p)->(%p,%p):\n", This, iface, lpD3DTex1, lpD3DTex2);    surf1 = ICOM_OBJECT(IDirectDrawSurfaceImpl,IDirect3DTexture2,lpD3DTex1);    surf2 = ICOM_OBJECT(IDirectDrawSurfaceImpl,IDirect3DTexture2,lpD3DTex2);    tmp = *surf1;    *surf1 = *surf2;    *surf2 = tmp;        return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_2_NextViewport(LPDIRECT3DDEVICE2 iface,                                        LPDIRECT3DVIEWPORT2 lpDirect3DViewport2,                                        LPDIRECT3DVIEWPORT2* lplpDirect3DViewport2,                                        DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface);    FIXME("(%p/%p)->(%p,%p,%08lx): stub!\n", This, iface, lpDirect3DViewport2, lplpDirect3DViewport2, dwFlags);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_2_1T_EnumTextureFormats(LPDIRECT3DDEVICE2 iface,                                                 LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc,                                                 LPVOID lpArg){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface);    FIXME("(%p/%p)->(%p,%p): stub!\n", This, iface, lpD3DEnumTextureProc, lpArg);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_2_Begin(LPDIRECT3DDEVICE2 iface,                                 D3DPRIMITIVETYPE d3dpt,                                 D3DVERTEXTYPE dwVertexTypeDesc,                                 DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface);    FIXME("(%p/%p)->(%08x,%08x,%08lx): stub!\n", This, iface, d3dpt, dwVertexTypeDesc, dwFlags);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_2_BeginIndexed(LPDIRECT3DDEVICE2 iface,                                        D3DPRIMITIVETYPE d3dptPrimitiveType,                                        D3DVERTEXTYPE d3dvtVertexType,                                        LPVOID lpvVertices,                                        DWORD dwNumVertices,                                        DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface);    FIXME("(%p/%p)->(%08x,%08x,%p,%08lx,%08lx): stub!\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwNumVertices, dwFlags);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_2_DrawPrimitive(LPDIRECT3DDEVICE2 iface,                                         D3DPRIMITIVETYPE d3dptPrimitiveType,                                         D3DVERTEXTYPE d3dvtVertexType,                                         LPVOID lpvVertices,                                         DWORD dwVertexCount,                                         DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface);    FIXME("(%p/%p)->(%08x,%08x,%p,%08lx,%08lx): stub!\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwVertexCount, dwFlags);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_2_DrawIndexedPrimitive(LPDIRECT3DDEVICE2 iface,                                                D3DPRIMITIVETYPE d3dptPrimitiveType,                                                D3DVERTEXTYPE d3dvtVertexType,                                                LPVOID lpvVertices,                                                DWORD dwVertexCount,                                                LPWORD dwIndices,                                                DWORD dwIndexCount,                                                DWORD dwFlags){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface);    FIXME("(%p/%p)->(%08x,%08x,%p,%08lx,%p,%08lx,%08lx): stub!\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwVertexCount, dwIndices, dwIndexCount, dwFlags);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_1_Initialize(LPDIRECT3DDEVICE iface,                                      LPDIRECT3D lpDirect3D,                                      LPGUID lpGUID,                                      LPD3DDEVICEDESC lpD3DDVDesc){    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface);    FIXME("(%p/%p)->(%p,%p,%p): stub!\n", This, iface, lpDirect3D, lpGUID, lpD3DDVDesc);    return DD_OK;}HRESULT WINAPIMain_IDirect3DDeviceImpl_1_CreateExecuteBuffer(LPDIRECT3DDEVICE iface,                                               LPD3DEXECUTEBUFFERDESC lpDesc,

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?