Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
2cf00836
Commit
2cf00836
authored
Jan 02, 2013
by
Andrew Talbot
Committed by
Alexandre Julliard
Jan 03, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3dx9_36: Avoid signed-unsigned integer comparisons.
parent
fc5a2aa0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
27 deletions
+28
-27
mesh.c
dlls/d3dx9_36/mesh.c
+28
-27
No files found.
dlls/d3dx9_36/mesh.c
View file @
2cf00836
...
...
@@ -686,7 +686,6 @@ static HRESULT WINAPI ID3DXMeshImpl_CloneMesh(struct ID3DXMesh *iface, DWORD opt
void
*
data_in
,
*
data_out
;
DWORD
vertex_size
;
HRESULT
hr
;
int
i
;
BOOL
same_declaration
;
TRACE
(
"(%p)->(%x,%p,%p,%p)
\n
"
,
This
,
options
,
declaration
,
device
,
clone_mesh_out
);
...
...
@@ -738,6 +737,7 @@ static HRESULT WINAPI ID3DXMeshImpl_CloneMesh(struct ID3DXMesh *iface, DWORD opt
goto
error
;
}
if
((
options
^
This
->
options
)
&
D3DXMESH_32BIT
)
{
DWORD
i
;
if
(
options
&
D3DXMESH_32BIT
)
{
for
(
i
=
0
;
i
<
This
->
numfaces
*
3
;
i
++
)
((
DWORD
*
)
data_out
)[
i
]
=
((
WORD
*
)
data_in
)[
i
];
...
...
@@ -1230,7 +1230,7 @@ static HRESULT WINAPI ID3DXMeshImpl_GenerateAdjacency(ID3DXMesh *iface, FLOAT ep
* that adjacency checks can be limited to faces sharing a vertex */
DWORD
*
shared_indices
=
NULL
;
const
FLOAT
epsilon_sq
=
epsilon
*
epsilon
;
int
i
;
DWORD
i
;
TRACE
(
"(%p)->(%f,%p)
\n
"
,
This
,
epsilon
,
adjacency
);
...
...
@@ -1279,7 +1279,7 @@ static HRESULT WINAPI ID3DXMeshImpl_GenerateAdjacency(ID3DXMesh *iface, FLOAT ep
DWORD
shared_index_a
=
sorted_vertex_a
->
first_shared_index
;
while
(
shared_index_a
!=
-
1
)
{
int
j
=
i
;
DWORD
j
=
i
;
DWORD
shared_index_b
=
shared_indices
[
shared_index_a
];
struct
vertex_metadata
*
sorted_vertex_b
=
sorted_vertex_a
;
...
...
@@ -2763,7 +2763,7 @@ static HRESULT parse_material(IDirectXFileData *filedata, D3DXMATERIAL *material
static
void
destroy_materials
(
struct
mesh_data
*
mesh
)
{
int
i
;
DWORD
i
;
for
(
i
=
0
;
i
<
mesh
->
num_materials
;
i
++
)
HeapFree
(
GetProcessHeap
(),
0
,
mesh
->
materials
[
i
].
pTextureFilename
);
HeapFree
(
GetProcessHeap
(),
0
,
mesh
->
materials
);
...
...
@@ -2781,7 +2781,7 @@ static HRESULT parse_material_list(IDirectXFileData *filedata, struct mesh_data
const
GUID
*
type
;
IDirectXFileData
*
child
;
DWORD
num_materials
;
int
i
;
DWORD
i
;
destroy_materials
(
mesh
);
...
...
@@ -2902,7 +2902,7 @@ static HRESULT parse_vertex_colors(IDirectXFileData *filedata, struct mesh_data
DWORD
data_size
;
BYTE
*
data
;
DWORD
num_colors
;
int
i
;
DWORD
i
;
HeapFree
(
GetProcessHeap
(),
0
,
mesh
->
vertex_colors
);
mesh
->
vertex_colors
=
NULL
;
...
...
@@ -2969,7 +2969,7 @@ static HRESULT parse_normals(IDirectXFileData *filedata, struct mesh_data *mesh)
DWORD
data_size
;
BYTE
*
data
;
DWORD
*
index_out_ptr
;
int
i
;
DWORD
i
;
DWORD
num_face_indices
=
mesh
->
num_poly_faces
*
2
+
mesh
->
num_tri_faces
;
HeapFree
(
GetProcessHeap
(),
0
,
mesh
->
normals
);
...
...
@@ -3065,7 +3065,7 @@ static HRESULT parse_mesh(IDirectXFileData *filedata, struct mesh_data *mesh_dat
DWORD
*
index_out_ptr
;
const
GUID
*
type
;
IDirectXFileData
*
child
;
int
i
;
DWORD
i
;
/*
* template Mesh {
...
...
@@ -3201,7 +3201,7 @@ static HRESULT generate_effects(ID3DXBuffer *materials, DWORD num_materials,
};
static
const
char
texture_paramname
[]
=
"Texture0@Name"
;
DWORD
buffer_size
;
int
i
;
DWORD
i
;
/* effects buffer layout:
*
...
...
@@ -3238,7 +3238,7 @@ static HRESULT generate_effects(ID3DXBuffer *materials, DWORD num_materials,
for
(
i
=
0
;
i
<
num_materials
;
i
++
)
{
int
j
;
DWORD
j
;
D3DXEFFECTDEFAULT
*
defaults
=
(
D3DXEFFECTDEFAULT
*
)
out_ptr
;
effect_ptr
->
pDefaults
=
defaults
;
...
...
@@ -3292,7 +3292,7 @@ static HRESULT load_skin_mesh_from_xof(struct IDirectXFileData *filedata, DWORD
DWORD
normal_index
;
struct
list
entry
;
}
*
duplications
=
NULL
;
int
i
;
DWORD
i
;
void
*
vertices
=
NULL
;
void
*
indices
=
NULL
;
BYTE
*
out_ptr
;
...
...
@@ -3983,7 +3983,6 @@ HRESULT WINAPI D3DXLoadMeshFromXInMemory(const void *memory, DWORD memory_size,
DWORD
num_materials
;
DWORD
num_faces
,
num_vertices
;
D3DXMATRIX
identity
;
int
i
;
DWORD
provide_flags
=
0
;
DWORD
fvf
;
ID3DXMesh
*
concat_mesh
=
NULL
;
...
...
@@ -4087,6 +4086,7 @@ HRESULT WINAPI D3DXLoadMeshFromXInMemory(const void *memory, DWORD memory_size,
DWORD
num_mesh_vertices
=
mesh
->
lpVtbl
->
GetNumVertices
(
mesh
);
DWORD
mesh_vertex_size
;
const
BYTE
*
mesh_vertices
;
DWORD
i
;
hr
=
mesh
->
lpVtbl
->
GetDeclaration
(
mesh
,
mesh_decl
);
if
(
FAILED
(
hr
))
goto
cleanup
;
...
...
@@ -4139,7 +4139,7 @@ HRESULT WINAPI D3DXLoadMeshFromXInMemory(const void *memory, DWORD memory_size,
ID3DXMesh
*
mesh
=
container_ptr
->
mesh
;
const
void
*
mesh_indices
;
DWORD
num_mesh_faces
=
mesh
->
lpVtbl
->
GetNumFaces
(
mesh
);
int
i
;
DWORD
i
;
hr
=
mesh
->
lpVtbl
->
LockIndexBuffer
(
mesh
,
D3DLOCK_READONLY
,
(
void
**
)
&
mesh_indices
);
if
(
FAILED
(
hr
))
goto
cleanup
;
...
...
@@ -4215,6 +4215,7 @@ HRESULT WINAPI D3DXLoadMeshFromXInMemory(const void *memory, DWORD memory_size,
LIST_FOR_EACH_ENTRY
(
container_ptr
,
&
container_list
,
struct
mesh_container
,
entry
)
{
if
(
container_ptr
->
materials
)
{
DWORD
i
;
const
D3DXMATERIAL
*
in_ptr
=
ID3DXBuffer_GetBufferPointer
(
container_ptr
->
materials
);
for
(
i
=
0
;
i
<
container_ptr
->
num_materials
;
i
++
)
{
...
...
@@ -4233,6 +4234,7 @@ HRESULT WINAPI D3DXLoadMeshFromXInMemory(const void *memory, DWORD memory_size,
LIST_FOR_EACH_ENTRY
(
container_ptr
,
&
container_list
,
struct
mesh_container
,
entry
)
{
if
(
container_ptr
->
materials
)
{
DWORD
i
;
const
D3DXMATERIAL
*
in_ptr
=
ID3DXBuffer_GetBufferPointer
(
container_ptr
->
materials
);
for
(
i
=
0
;
i
<
container_ptr
->
num_materials
;
i
++
)
{
...
...
@@ -4275,8 +4277,9 @@ HRESULT WINAPI D3DXLoadMeshFromXInMemory(const void *memory, DWORD memory_size,
out_ptr
=
ID3DXBuffer_GetBufferPointer
(
adjacency
);
LIST_FOR_EACH_ENTRY
(
container_ptr
,
&
container_list
,
struct
mesh_container
,
entry
)
{
DWORD
i
;
DWORD
count
=
3
*
container_ptr
->
mesh
->
lpVtbl
->
GetNumFaces
(
container_ptr
->
mesh
);
DWORD
*
in_ptr
=
ID3DXBuffer_GetBufferPointer
(
container_ptr
->
adjacency
);
int
count
=
3
*
container_ptr
->
mesh
->
lpVtbl
->
GetNumFaces
(
container_ptr
->
mesh
);
for
(
i
=
0
;
i
<
count
;
i
++
)
*
out_ptr
++
=
offset
+
*
in_ptr
++
;
...
...
@@ -4389,8 +4392,7 @@ HRESULT WINAPI D3DXCreateSphere(struct IDirect3DDevice9 *device, float radius, U
float
phi_step
,
phi_start
;
struct
sincos_table
phi
;
float
theta_step
,
theta
,
sin_theta
,
cos_theta
;
DWORD
vertex
,
face
;
int
slice
,
stack
;
DWORD
vertex
,
face
,
stack
,
slice
;
TRACE
(
"(%p, %f, %u, %u, %p, %p)
\n
"
,
device
,
radius
,
slices
,
stacks
,
mesh
,
adjacency
);
...
...
@@ -4561,8 +4563,7 @@ HRESULT WINAPI D3DXCreateCylinder(struct IDirect3DDevice9 *device, float radius1
struct
sincos_table
theta
;
float
delta_radius
,
radius
,
radius_step
;
float
z
,
z_step
,
z_normal
;
DWORD
vertex
,
face
;
int
slice
,
stack
;
DWORD
vertex
,
face
,
slice
,
stack
;
TRACE
(
"(%p, %f, %f, %f, %u, %u, %p, %p)
\n
"
,
device
,
radius1
,
radius2
,
length
,
slices
,
stacks
,
mesh
,
adjacency
);
...
...
@@ -5060,6 +5061,7 @@ static HRESULT create_outline(struct glyphinfo *glyph, void *raw_outline, int da
{
D3DXVECTOR2
bezier_start
=
outline
->
items
[
outline
->
count
-
1
].
pos
;
BOOL
to_curve
=
curve
->
wType
!=
TT_PRIM_LINE
&&
curve
->
cpfx
>
1
;
unsigned
int
j2
=
0
;
if
(
!
curve
->
cpfx
)
{
curve
=
(
TTPOLYCURVE
*
)
&
curve
->
apfx
[
curve
->
cpfx
];
...
...
@@ -5074,37 +5076,36 @@ static HRESULT create_outline(struct glyphinfo *glyph, void *raw_outline, int da
{
HRESULT
hr
;
int
count
=
curve
->
cpfx
;
j
=
0
;
while
(
count
>
2
)
{
D3DXVECTOR2
bezier_end
;
D3DXVec2Scale
(
&
bezier_end
,
D3DXVec2Add
(
&
bezier_end
,
&
pt_flt
[
j
],
&
pt_flt
[
j
+
1
]),
0
.
5
f
);
hr
=
add_bezier_points
(
outline
,
&
bezier_start
,
&
pt_flt
[
j
],
&
bezier_end
,
max_deviation_sq
);
D3DXVec2Scale
(
&
bezier_end
,
D3DXVec2Add
(
&
bezier_end
,
&
pt_flt
[
j
2
],
&
pt_flt
[
j2
+
1
]),
0
.
5
f
);
hr
=
add_bezier_points
(
outline
,
&
bezier_start
,
&
pt_flt
[
j
2
],
&
bezier_end
,
max_deviation_sq
);
if
(
hr
!=
S_OK
)
return
hr
;
bezier_start
=
bezier_end
;
count
--
;
j
++
;
j
2
++
;
}
hr
=
add_bezier_points
(
outline
,
&
bezier_start
,
&
pt_flt
[
j
],
&
pt_flt
[
j
+
1
],
max_deviation_sq
);
hr
=
add_bezier_points
(
outline
,
&
bezier_start
,
&
pt_flt
[
j
2
],
&
pt_flt
[
j2
+
1
],
max_deviation_sq
);
if
(
hr
!=
S_OK
)
return
hr
;
pt
=
add_points
(
outline
,
1
);
if
(
!
pt
)
return
E_OUTOFMEMORY
;
j
++
;
pt
->
pos
=
pt_flt
[
j
];
j
2
++
;
pt
->
pos
=
pt_flt
[
j
2
];
pt
->
corner
=
POINTTYPE_CURVE_END
;
}
else
{
pt
=
add_points
(
outline
,
curve
->
cpfx
);
if
(
!
pt
)
return
E_OUTOFMEMORY
;
for
(
j
=
0
;
j
<
curve
->
cpfx
;
j
++
)
for
(
j
2
=
0
;
j2
<
curve
->
cpfx
;
j2
++
)
{
pt
->
pos
=
pt_flt
[
j
];
pt
->
pos
=
pt_flt
[
j
2
];
pt
->
corner
=
POINTTYPE_CORNER
;
pt
++
;
}
...
...
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