Implements D3DRMVectorSubtract

David.Adam at math.cnrs.fr David.Adam at math.cnrs.fr
Sun Apr 15 18:30:37 CDT 2007


-------------- next part --------------
>From 4c2f235c8152259e2b5ac30730f85bc8f71ad015 Mon Sep 17 00:00:00 2001
From: Adam <David.Adam at math.cnrs.fr>
Date: Sun, 15 Apr 2007 12:23:46 +0200
Subject: [PATCH] [3] Implements D3DRMVectorSubtract with test.

---
 dlls/d3drm/d3drm.spec     |    2 +-
 dlls/d3drm/math.c         |    9 +++++++++
 dlls/d3drm/tests/vector.c |    9 +++++++++
 3 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/dlls/d3drm/d3drm.spec b/dlls/d3drm/d3drm.spec
index f0aa67f..0041265 100644
--- a/dlls/d3drm/d3drm.spec
+++ b/dlls/d3drm/d3drm.spec
@@ -17,7 +17,7 @@
 @ stub D3DRMVectorReflect
 @ stub D3DRMVectorRotate
 @ stub D3DRMVectorScale
-@ stub D3DRMVectorSubtract
+@ stdcall D3DRMVectorSubtract(ptr ptr ptr)
 @ stub Direct3DRMCreate
 @ stub DllCanUnloadNow
 @ stub DllGetClassObject
diff --git a/dlls/d3drm/math.c b/dlls/d3drm/math.c
index 96af2f0..a4e9da4 100644
--- a/dlls/d3drm/math.c
+++ b/dlls/d3drm/math.c
@@ -39,3 +39,12 @@ LPD3DVECTOR D3DRMAPI D3DRMVectorAdd(LPD3
     d->z=s1->z + s2->z;
     return d;
 }
+
+/* Subtract Two Vectors */
+LPD3DVECTOR D3DRMAPI D3DRMVectorSubtract(LPD3DVECTOR d, LPD3DVECTOR s1, LPD3DVECTOR s2)
+{
+    d->x=s1->x - s2->x;
+    d->y=s1->y - s2->y;
+    d->z=s1->z - s2->z;
+    return d;
+}
diff --git a/dlls/d3drm/tests/vector.c b/dlls/d3drm/tests/vector.c
index c4cbd53..505d122 100644
--- a/dlls/d3drm/tests/vector.c
+++ b/dlls/d3drm/tests/vector.c
@@ -28,6 +28,7 @@ #define expect_vec(expectedvec,gotvec) \
   expectedvec.x,expectedvec.y,expectedvec.z, gotvec.x, gotvec.y, gotvec.z);
 
 static LPD3DVECTOR (D3DRMAPI *pD3DRMVectorAdd)(LPD3DVECTOR,LPD3DVECTOR,LPD3DVECTOR);
+static LPD3DVECTOR (D3DRMAPI *pD3DRMVectorSubtract)(LPD3DVECTOR,LPD3DVECTOR,LPD3DVECTOR);
 
 static void init_function_pointers(void)
 {
@@ -40,6 +41,7 @@ static void init_function_pointers(void)
     }
 
     pD3DRMVectorAdd = (void*)GetProcAddress(hmod, "D3DRMVectorAdd");
+    pD3DRMVectorSubtract = (void*)GetProcAddress(hmod, "D3DRMVectorSubtract");
 }
 
 static void VectorTest(void)
@@ -55,6 +57,13 @@ static void VectorTest(void)
     todo_wine {
     expect_vec(e,r);
               }
+
+/*_______________________VectorSubtract__________________________*/
+    pD3DRMVectorSubtract(&r,&u,&v);
+    e.x=-2.0;e.y=-2.0;e.z=1.0;
+    todo_wine {
+    expect_vec(e,r);
+              }
 }
 
 START_TEST(vector)
-- 
1.4.2



More information about the wine-patches mailing list