patch [3/15]: Implements D3DVectorSubtract [try 2]

David.Adam at math.cnrs.fr David.Adam at math.cnrs.fr
Thu Apr 19 14:05:56 CDT 2007


-------------- next part --------------
>From 7f14632ad0894f43d78ee55c7094d8a39e99ccc3 Mon Sep 17 00:00:00 2001
From: Adam <David.Adam at math.cnrs.fr>
Date: Fri, 20 Apr 2007 01:48:35 +0200
Subject: [PATCH] Implements D3DRMVectorSubtract with test.

---
 dlls/d3drm/d3drm.spec     |    2 +-
 dlls/d3drm/math.c         |    9 +++++++++
 dlls/d3drm/tests/vector.c |    5 +++++
 3 files changed, 15 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 ab06f89..58ecc95 100644
--- a/dlls/d3drm/math.c
+++ b/dlls/d3drm/math.c
@@ -39,3 +39,12 @@ LPD3DVECTOR WINAPI D3DRMVectorAdd(LPD3DV
     d->z=s1->z + s2->z;
     return d;
 }
+
+/* Subtract Two Vectors */
+LPD3DVECTOR WINAPI 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 6067146..dffa685 100644
--- a/dlls/d3drm/tests/vector.c
+++ b/dlls/d3drm/tests/vector.c
@@ -41,6 +41,11 @@ void VectorTest(void)
     D3DRMVectorAdd(&r,&u,&v);
     e.x=6.0;e.y=6.0;e.z=1.0;
     expect_vec(e,r);
+
+/*_______________________VectorSubtract__________________________*/
+    D3DRMVectorSubtract(&r,&u,&v);
+    e.x=-2.0;e.y=-2.0;e.z=1.0;
+    expect_vec(e,r);
 }
 
 START_TEST(vector)
-- 
1.4.2



More information about the wine-patches mailing list