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