[PATCH] Implement D3DXVec2CCW with a test
Adam David (none)
david at localhost.
Sat Oct 6 06:59:40 CDT 2007
---
dlls/d3dx8/d3dx8.spec | 1 +
dlls/d3dx8/math.c | 5 +++++
dlls/d3dx8/tests/math.c | 7 ++++++-
include/d3dx8math.h | 1 +
4 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec
index 1d5b60e..2776509 100644
--- a/dlls/d3dx8/d3dx8.spec
+++ b/dlls/d3dx8/d3dx8.spec
@@ -12,6 +12,7 @@
@ stub D3DXVec2Transform
@ stub D3DXVec2TransformCoord
@ stub D3DXVec2TransformNormal
+@ stdcall D3DXVec2CCW(ptr ptr)
@ stdcall D3DXVec2Dot(ptr ptr)
@ stdcall D3DXVec2Add(ptr ptr ptr)
@ stub D3DXVec3Normalize
diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c
index 6ad0b08..f5661ab 100644
--- a/dlls/d3dx8/math.c
+++ b/dlls/d3dx8/math.c
@@ -34,6 +34,11 @@ LPD3DXVECTOR2 D3DXVec2Add(LPD3DXVECTOR2 pOut, CONST LPD3D=
XVECTOR2 pv1, CONST LPD
return pOut;
}
=20
+FLOAT D3DXVec2CCW(CONST LPD3DXVECTOR2 pv1, CONST LPD3DXVECTOR2 pv2)
+{
+ return ((pv1->x) * (pv2->y) - (pv1->y) * (pv2->x));
+}
+
FLOAT D3DXVec2Dot(CONST LPD3DXVECTOR2 pv1, CONST LPD3DXVECTOR2 pv2)
{
return ((pv1->x) * (pv2->x) + (pv1->y) * (pv2->y));
diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c
index 11edc89..31c2e31 100644
--- a/dlls/d3dx8/tests/math.c
+++ b/dlls/d3dx8/tests/math.c
@@ -27,7 +27,7 @@
static void Vector2Test(void)
{
D3DXVECTOR2 expected, result, u, vec1, vec2;
- FLOAT modulus, long2, pDot, sca;
+ FLOAT modulus, long2, pCro, pDot, sca;
=20
u.x=3D3.0f; u.y=3D4.0f;
vec1.x=3D8.0f; vec1.y=3D-2.0f;
@@ -39,6 +39,11 @@ static void Vector2Test(void)
expected.x=3D4.0f; expected.y=3D5.0f;
expect_vec2(result,expected);
=20
+/*__________________Vect2CCW___________________________*/
+ pCro=3DD3DXVec2CCW(&vec1,&vec2);
+ ok((pCro =3D=3D 48.0f), "Expected 48.0f, Got %f\n", pCro);
+
+
/*__________________Vect2Dot___________________________*/
pDot=3DD3DXVec2Dot(&vec1,&vec2);
ok((pDot =3D=3D -46.0f), "Expected -46.0f, Got %f\n", pDot);
diff --git a/include/d3dx8math.h b/include/d3dx8math.h
index a816edf..79c9593 100644
--- a/include/d3dx8math.h
+++ b/include/d3dx8math.h
@@ -60,6 +60,7 @@ typedef struct D3DXCOLOR
} D3DXCOLOR, *LPD3DXCOLOR;
=20
LPD3DXVECTOR2 D3DXVec2Add(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LPD3DXV=
ECTOR2);
+FLOAT D3DXVec2CCW(CONST LPD3DXVECTOR2, CONST LPD3DXVECTOR2);
FLOAT D3DXVec2Dot(CONST LPD3DXVECTOR2, CONST LPD3DXVECTOR2);
FLOAT D3DXVec2Length(CONST LPD3DXVECTOR2);
FLOAT D3DXVec2LengthSq(CONST LPD3DXVECTOR2);
--=20
1.5.2.4
--=_pp3k4wax20g--
More information about the wine-patches
mailing list