Implements D3DRMVectorRandom

David.Adam at math.cnrs.fr David.Adam at math.cnrs.fr
Sun Apr 15 18:35:25 CDT 2007


-------------- next part --------------
>From 642db309fc058dc0dae3fd6c8e7927ae570e7348 Mon Sep 17 00:00:00 2001
From: Adam <David.Adam at math.cnrs.fr>
Date: Sun, 15 Apr 2007 13:51:01 +0200
Subject: [PATCH] [9] Implements D3DRMVectorRandom. Test is unuseful.

---
 dlls/d3drm/d3drm.spec |    2 +-
 dlls/d3drm/math.c     |   11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/dlls/d3drm/d3drm.spec b/dlls/d3drm/d3drm.spec
index 172f07e..5af714e 100644
--- a/dlls/d3drm/d3drm.spec
+++ b/dlls/d3drm/d3drm.spec
@@ -13,7 +13,7 @@
 @ stdcall D3DRMVectorDotProduct(ptr ptr)
 @ stdcall D3DRMVectorModulus(ptr)
 @ stdcall D3DRMVectorNormalize(ptr)
-@ stub D3DRMVectorRandom
+@ stdcall D3DRMVectorRandom(ptr)
 @ stub D3DRMVectorReflect
 @ stub D3DRMVectorRotate
 @ stdcall D3DRMVectorScale(ptr ptr long)
diff --git a/dlls/d3drm/math.c b/dlls/d3drm/math.c
index b542584..31192e4 100644
--- a/dlls/d3drm/math.c
+++ b/dlls/d3drm/math.c
@@ -81,6 +81,17 @@ LPD3DVECTOR D3DRMAPI D3DRMVectorNormaliz
     return u; 
 }
 
+/* Returns a random unit vector */
+LPD3DVECTOR D3DRMAPI D3DRMVectorRandom(LPD3DVECTOR d)
+{
+    srand(time(NULL));
+    d->x=(D3DVALUE)(rand());
+    d->y=(D3DVALUE)(rand());
+    d->z=(D3DVALUE)(rand());
+    D3DRMVectorNormalize(d);
+    return d;
+}
+
 /* Scale a vector */
 LPD3DVECTOR D3DRMAPI D3DRMVectorScale(LPD3DVECTOR d, LPD3DVECTOR s, D3DVALUE factor)
 {
-- 
1.4.2



More information about the wine-patches mailing list