mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 13:26:17 +00:00
start implement D3DParseUnknownCommand this is the ground
svn path=/trunk/; revision=21206
This commit is contained in:
parent
ba881ff69d
commit
3e4dcb12f3
2 changed files with 64 additions and 5 deletions
|
@ -1,7 +1,7 @@
|
||||||
EXPORTS
|
EXPORTS
|
||||||
;AcquireDDThreadLock
|
;AcquireDDThreadLock
|
||||||
;CompleteCreateSysmemSurface
|
;CompleteCreateSysmemSurface
|
||||||
;D3DParseUnknownCommand
|
D3DParseUnknownCommand
|
||||||
;DDGetAttachedSurfaceLcl
|
;DDGetAttachedSurfaceLcl
|
||||||
;DDInternalLock
|
;DDInternalLock
|
||||||
;DDInternalUnlock
|
;DDInternalUnlock
|
||||||
|
|
|
@ -11,9 +11,13 @@
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include "rosdraw.h"
|
#include "rosdraw.h"
|
||||||
|
#include "d3dhal.h"
|
||||||
|
|
||||||
|
|
||||||
HRESULT WINAPI Create_DirectDraw (LPGUID pGUID, LPDIRECTDRAW* pIface, REFIID id, BOOL ex)
|
|
||||||
|
HRESULT
|
||||||
|
WINAPI
|
||||||
|
Create_DirectDraw (LPGUID pGUID, LPDIRECTDRAW* pIface, REFIID id, BOOL ex)
|
||||||
{
|
{
|
||||||
IDirectDrawImpl* This = (IDirectDrawImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectDrawImpl));
|
IDirectDrawImpl* This = (IDirectDrawImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectDrawImpl));
|
||||||
|
|
||||||
|
@ -36,7 +40,9 @@ HRESULT WINAPI Create_DirectDraw (LPGUID pGUID, LPDIRECTDRAW* pIface, REFIID id,
|
||||||
return This->lpVtbl->Initialize ((LPDIRECTDRAW7)This, pGUID);
|
return This->lpVtbl->Initialize ((LPDIRECTDRAW7)This, pGUID);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI DirectDrawCreate (LPGUID lpGUID, LPDIRECTDRAW* lplpDD, LPUNKNOWN pUnkOuter)
|
HRESULT
|
||||||
|
WINAPI
|
||||||
|
DirectDrawCreate (LPGUID lpGUID, LPDIRECTDRAW* lplpDD, LPUNKNOWN pUnkOuter)
|
||||||
{
|
{
|
||||||
/* check see if pUnkOuter is null or not */
|
/* check see if pUnkOuter is null or not */
|
||||||
if (pUnkOuter)
|
if (pUnkOuter)
|
||||||
|
@ -48,7 +54,9 @@ HRESULT WINAPI DirectDrawCreate (LPGUID lpGUID, LPDIRECTDRAW* lplpDD, LPUNKNOWN
|
||||||
return Create_DirectDraw (lpGUID, lplpDD, &IID_IDirectDraw, FALSE);
|
return Create_DirectDraw (lpGUID, lplpDD, &IID_IDirectDraw, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI DirectDrawCreateEx(LPGUID lpGUID, LPVOID* lplpDD, REFIID id, LPUNKNOWN pUnkOuter)
|
HRESULT
|
||||||
|
WINAPI
|
||||||
|
DirectDrawCreateEx(LPGUID lpGUID, LPVOID* lplpDD, REFIID id, LPUNKNOWN pUnkOuter)
|
||||||
{
|
{
|
||||||
/* check see if pUnkOuter is null or not */
|
/* check see if pUnkOuter is null or not */
|
||||||
if (pUnkOuter)
|
if (pUnkOuter)
|
||||||
|
@ -66,7 +74,8 @@ HRESULT WINAPI DirectDrawCreateEx(LPGUID lpGUID, LPVOID* lplpDD, REFIID id, LPUN
|
||||||
return Create_DirectDraw (lpGUID, (LPDIRECTDRAW*)lplpDD, id, TRUE);
|
return Create_DirectDraw (lpGUID, (LPDIRECTDRAW*)lplpDD, id, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI DirectDrawEnumerateA(
|
HRESULT
|
||||||
|
WINAPI DirectDrawEnumerateA(
|
||||||
LPDDENUMCALLBACKA lpCallback,
|
LPDDENUMCALLBACKA lpCallback,
|
||||||
LPVOID lpContext
|
LPVOID lpContext
|
||||||
)
|
)
|
||||||
|
@ -100,4 +109,54 @@ HRESULT WINAPI DirectDrawEnumerateExW(
|
||||||
{
|
{
|
||||||
DX_STUB;
|
DX_STUB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
|
||||||
|
Display_d/hh/Display_d/d3d_21ac30ea-9803-401e-b541-6b08af79653d.xml.asp
|
||||||
|
|
||||||
|
for more info about this command
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
HRESULT WINAPI
|
||||||
|
D3DParseUnknownCommand( LPVOID lpvCommands,
|
||||||
|
LPVOID *lplpvReturnedCommand)
|
||||||
|
{
|
||||||
|
LPD3DHAL_DP2COMMAND cmd = lpvCommands;
|
||||||
|
|
||||||
|
DWORD retCode = D3DERR_COMMAND_UNPARSED;
|
||||||
|
|
||||||
|
*lplpvReturnedCommand = lpvCommands;
|
||||||
|
|
||||||
|
if (cmd->bCommand > D3DDP2OP_TRIANGLESTRIP)
|
||||||
|
{
|
||||||
|
retCode = DD_FALSE;
|
||||||
|
|
||||||
|
if (cmd->bCommand == D3DDP2OP_VIEWPORTINFO)
|
||||||
|
{
|
||||||
|
/* FIXME */
|
||||||
|
retCode = DD_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmd->bCommand == D3DDP2OP_WINFO)
|
||||||
|
{
|
||||||
|
/* FIXME */
|
||||||
|
retCode = DD_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (cmd->bCommand == D3DDP2OP_TRIANGLESTRIP)
|
||||||
|
{
|
||||||
|
/* FIXME */
|
||||||
|
retCode = DD_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((cmd->bCommand <= D3DDP2OP_INDEXEDTRIANGLELIST) || (cmd->bCommand == D3DDP2OP_RENDERSTATE))
|
||||||
|
{
|
||||||
|
retCode = DD_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return retCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue