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