[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