Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
c3201a46
Commit
c3201a46
authored
May 19, 2011
by
Dylan Smith
Committed by
Alexandre Julliard
May 20, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3dx9: Implement D3DXFrameDestroy.
parent
f51668fd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
1 deletion
+44
-1
d3dx9_36.spec
dlls/d3dx9_36/d3dx9_36.spec
+1
-1
mesh.c
dlls/d3dx9_36/mesh.c
+43
-0
No files found.
dlls/d3dx9_36/d3dx9_36.spec
View file @
c3201a46
...
...
@@ -134,7 +134,7 @@
@ stub D3DXFloat32To16Array(ptr ptr long)
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ st
ub
D3DXFrameDestroy(ptr ptr)
@ st
dcall
D3DXFrameDestroy(ptr ptr)
@ stub D3DXFrameFind(ptr ptr)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
...
...
dlls/d3dx9_36/mesh.c
View file @
c3201a46
...
...
@@ -1808,6 +1808,49 @@ HRESULT WINAPI D3DXCreateMeshFVF(DWORD numfaces, DWORD numvertices, DWORD option
return
D3DXCreateMesh
(
numfaces
,
numvertices
,
options
,
declaration
,
device
,
mesh
);
}
HRESULT
WINAPI
D3DXFrameDestroy
(
LPD3DXFRAME
frame
,
LPD3DXALLOCATEHIERARCHY
alloc_hier
)
{
HRESULT
hr
;
BOOL
last
=
FALSE
;
TRACE
(
"(%p, %p)
\n
"
,
frame
,
alloc_hier
);
if
(
!
frame
||
!
alloc_hier
)
return
D3DERR_INVALIDCALL
;
while
(
!
last
)
{
D3DXMESHCONTAINER
*
container
;
D3DXFRAME
*
current_frame
;
if
(
frame
->
pFrameSibling
)
{
current_frame
=
frame
->
pFrameSibling
;
frame
->
pFrameSibling
=
current_frame
->
pFrameSibling
;
current_frame
->
pFrameSibling
=
NULL
;
}
else
if
(
frame
)
{
current_frame
=
frame
;
last
=
TRUE
;
}
if
(
current_frame
->
pFrameFirstChild
)
{
hr
=
D3DXFrameDestroy
(
current_frame
->
pFrameFirstChild
,
alloc_hier
);
if
(
FAILED
(
hr
))
return
hr
;
current_frame
->
pFrameFirstChild
=
NULL
;
}
container
=
current_frame
->
pMeshContainer
;
while
(
container
)
{
D3DXMESHCONTAINER
*
next_container
=
container
->
pNextMeshContainer
;
hr
=
alloc_hier
->
lpVtbl
->
DestroyMeshContainer
(
alloc_hier
,
container
);
if
(
FAILED
(
hr
))
return
hr
;
container
=
next_container
;
}
hr
=
alloc_hier
->
lpVtbl
->
DestroyFrame
(
alloc_hier
,
current_frame
);
if
(
FAILED
(
hr
))
return
hr
;
}
return
D3D_OK
;
}
HRESULT
WINAPI
D3DXCreateBox
(
LPDIRECT3DDEVICE9
device
,
FLOAT
width
,
FLOAT
height
,
FLOAT
depth
,
LPD3DXMESH
*
mesh
,
LPD3DXBUFFER
*
adjacency
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment