2 * Direct3D X 8 main file
4 * Copyright (C) 2002 Raphael Junqueira
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 #include "wine/port.h"
31 #include "wine/debug.h"
32 #include "wine/unicode.h"
33 #include "d3dx8_private.h"
35 WINE_DEFAULT_DEBUG_CHANNEL(d3d
);
37 HRESULT WINAPI
D3DXCreateBuffer(DWORD NumBytes
, LPD3DXBUFFER
* ppBuffer
) {
38 ID3DXBufferImpl
*object
;
40 object
= HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, sizeof(ID3DXBufferImpl
));
42 *ppBuffer
= (LPD3DXBUFFER
)NULL
;
45 object
->lpVtbl
= &D3DXBuffer_Vtbl
;
47 object
->bufferSize
= NumBytes
;
48 object
->buffer
= HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, NumBytes
);
49 if (NULL
== object
->buffer
) {
50 HeapFree(GetProcessHeap(), 0, object
);
51 *ppBuffer
= (LPD3DXBUFFER
)NULL
;
54 *ppBuffer
= (LPD3DXBUFFER
)object
;
58 HRESULT WINAPI
D3DXCreateFont(LPDIRECT3DDEVICE8 pDevice
, HFONT hFont
, LPD3DXFONT
* ppFont
) {
59 FIXME("(void): stub\n");
63 UINT WINAPI
D3DXGetFVFVertexSize(DWORD FVF
) {
64 FIXME("(void): stub\n");
68 HRESULT WINAPI
D3DXAssembleShader(LPCVOID pSrcData
, UINT SrcDataLen
, DWORD Flags
,
69 LPD3DXBUFFER
* ppConstants
,
70 LPD3DXBUFFER
* ppCompiledShader
,
71 LPD3DXBUFFER
* ppCompilationErrors
) {
72 FIXME("(void): stub\n");
76 HRESULT WINAPI
D3DXAssembleShaderFromFileA(LPCSTR pSrcFile
, DWORD Flags
,
77 LPD3DXBUFFER
* ppConstants
,
78 LPD3DXBUFFER
* ppCompiledShader
,
79 LPD3DXBUFFER
* ppCompilationErrors
) {
80 LPWSTR pSrcFileW
= NULL
;
84 if (!pSrcFile
) return D3DXERR_INVALIDDATA
;
86 len
= MultiByteToWideChar( CP_ACP
, 0, pSrcFile
, -1, NULL
, 0 );
87 pSrcFileW
= HeapAlloc( GetProcessHeap(), 0, len
* sizeof(WCHAR
) );
88 MultiByteToWideChar( CP_ACP
, 0, pSrcFile
, -1, pSrcFileW
, len
);
89 ret
=D3DXAssembleShaderFromFileW(pSrcFileW
, Flags
, ppConstants
, ppCompiledShader
, ppCompilationErrors
);
90 HeapFree( GetProcessHeap(), 0, pSrcFileW
);
94 HRESULT WINAPI
D3DXAssembleShaderFromFileW(LPCWSTR pSrcFile
, DWORD Flags
,
95 LPD3DXBUFFER
* ppConstants
,
96 LPD3DXBUFFER
* ppCompiledShader
,
97 LPD3DXBUFFER
* ppCompilationErrors
) {
98 FIXME("(void): stub\n");
102 /***********************************************************************
105 BOOL WINAPI
DllMain(HINSTANCE inst
, DWORD reason
, LPVOID reserved
)
109 case DLL_WINE_PREATTACH
:
110 return FALSE
; /* prefer native version */
111 case DLL_PROCESS_ATTACH
:
112 DisableThreadLibraryCalls(inst
);
114 case DLL_PROCESS_DETACH
: