[PATCH] Implement D3DXVec2Maximize with a test

David Adam David.Adam at math.cnrs.fr
Fri Oct 5 15:35:40 CDT 2007


---
 dlls/d3dx8/d3dx8.spec   |    1 +
 dlls/d3dx8/math.c       |    7 +++++++
 dlls/d3dx8/tests/math.c |    9 +++++++--
 include/d3dx8math.h     |    1 +
 4 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec
index 892f51f..a7119a5 100644
--- a/dlls/d3dx8/d3dx8.spec
+++ b/dlls/d3dx8/d3dx8.spec
@@ -1,6 +1,7 @@
 @ stdcall D3DXVec2Subtract(ptr ptr ptr)
 @ stub D3DXVec2Normalize
 @ stdcall D3DXVec2Minimize(ptr ptr ptr)
+@ stdcall D3DXVec2Maximize(ptr ptr ptr)
 @ stdcall D3DXVec2LengthSq(ptr)
 @ stdcall D3DXVec2Length(ptr)
 @ stub D3DXVec2Hermite
diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c
index 0483be8..3324408 100644
--- a/dlls/d3dx8/math.c
+++ b/dlls/d3dx8/math.c
@@ -44,6 +44,13 @@ FLOAT D3DXVec2LengthSq(CONST LPD3DXVECTOR2 pv)
     return (pv->x)*(pv->x)+(pv->y)*(pv->y);
 }
=20
+LPD3DXVECTOR2 D3DXVec2Maximize(LPD3DXVECTOR2 pOut, CONST LPD3DXVECTOR2 pv1,=
 CONST LPD3DXVECTOR2 pv2)
+{
+    pOut->x=3D max(pv1->x , pv2->x);
+    pOut->y=3D max(pv1->y , pv2->y);
+    return pOut;
+}
+
 LPD3DXVECTOR2 D3DXVec2Minimize(LPD3DXVECTOR2 pOut, CONST LPD3DXVECTOR2 pv1,=
 CONST LPD3DXVECTOR2 pv2)
 {
     pOut->x=3D min(pv1->x , pv2->x);
diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c
index 8796bd5..5297743 100644
--- a/dlls/d3dx8/tests/math.c
+++ b/dlls/d3dx8/tests/math.c
@@ -46,12 +46,17 @@ static void Vector2Test(void)
     long2=3DD3DXVec2LengthSq(&u);
     ok((long2 =3D=3D 25.0f), "Expected 25.0f, Got %f\n", long2);
=20
-/*__________________Vect2Minimize____________________________*/
+/*__________________Vect2Maximize________________________*/
+    D3DXVec2Maximize(&result,&vec1,&vec2);
+    expected.x=3D8.0f; expected.y=3D7.0f;
+    expect_vec2(result,expected);
+
+/*__________________Vect2Minimize_________________________*/
     D3DXVec2Minimize(&result,&vec1,&vec2);
     expected.x=3D-4.0f; expected.y=3D-2.0f;
     expect_vec2(result,expected);
=20
-/*__________________Vect2Subtract____________________________*/
+/*__________________Vect2Subtract__________________________*/
     D3DXVec2Subtract(&result,&vec1,&vec2);
     expected.x=3D12.0f; expected.y=3D-9.0f;
     expect_vec2(result,expected);
diff --git a/include/d3dx8math.h b/include/d3dx8math.h
index 098e5e4..9f4af1d 100644
--- a/include/d3dx8math.h
+++ b/include/d3dx8math.h
@@ -62,6 +62,7 @@ typedef struct D3DXCOLOR
 LPD3DXVECTOR2 D3DXVec2Add(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LPD3DXV=
ECTOR2);
 FLOAT D3DXVec2Length(CONST LPD3DXVECTOR2);
 FLOAT D3DXVec2LengthSq(CONST LPD3DXVECTOR2);
+LPD3DXVECTOR2 D3DXVec2Maximize(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LP=
D3DXVECTOR2);
 LPD3DXVECTOR2 D3DXVec2Minimize(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LP=
D3DXVECTOR2);
 LPD3DXVECTOR2 D3DXVec2Subtract(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LP=
D3DXVECTOR2);
=20
--=20
1.5.2.4


--=_7kpalmw49zsw--



More information about the wine-patches mailing list