--- include/Makefile.in 2007-03-13 05:18:15.531250000 -0500 +++ include/Makefile.in.new 2007-03-13 05:18:47.671875000 -0500 @@ -92,6 +92,7 @@ d3dcaps.h \ d3dhal.h \ d3drm.h \ + d3drmdef.h \ d3dtypes.h \ d3dvec.inl \ d3dx8core.h \ --- /dev/null 2007-03-13 05:24:00.640625000 -0500 +++ include/d3drmdef.h 2007-03-13 05:22:36.796875000 -0500 @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2007 Vijay Kiran Kamuju + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef __WINE_D3DRMDEF_H__ +#define __WINE_D3DRMDEF_H__ + +#include +#include "d3dtypes.h" + +#define D3DRMAPI WINAPI + +#if defined (__cplusplus) +extern "C" { +#endif + +typedef struct _D3DRMVECTOR4D +{ + D3DVALUE x, y, z, w; +} D3DRMVECTOR4D, *LPD3DRMVECTOR4D; + +typedef D3DVALUE D3DRMMATRIX4D[4][4]; + +typedef struct _D3DRMQUATERNION +{ + D3DVALUE s; + D3DVECTOR v; +} D3DRMQUATERNION, *LPD3DRMQUATERNION; + +void D3DRMAPI D3DRMMatrixFromQuaternion(D3DRMMATRIX4D, LPD3DRMQUATERNION); + +LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionFromRotation(LPD3DRMQUATERNION ,LPD3DVECTOR,D3DVALUE); +LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionMultiply(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION); +LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionSlerp(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION, D3DVALUE); +LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionFromMatrix(LPD3DRMQUATERNION, D3DRMMATRIX4D); + +LPD3DVECTOR D3DRMAPI D3DRMVectorAdd(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR); +LPD3DVECTOR D3DRMAPI D3DRMVectorCrossProduct(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR); +D3DVALUE D3DRMAPI D3DRMVectorDotProduct(LPD3DVECTOR, LPD3DVECTOR); +LPD3DVECTOR D3DRMAPI D3DRMVectorNormalize(LPD3DVECTOR); + +#define D3DRMVectorNormalise D3DRMVectorNormalize + +D3DVALUE D3DRMAPI D3DRMVectorModulus(LPD3DVECTOR); +LPD3DVECTOR D3DRMAPI D3DRMVectorRandom(LPD3DVECTOR); +LPD3DVECTOR D3DRMAPI D3DRMVectorRotate(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR, D3DVALUE); +LPD3DVECTOR D3DRMAPI D3DRMVectorScale(LPD3DVECTOR, LPD3DVECTOR, D3DVALUE); + +#if defined(__cplusplus) +}; +#endif + +#endif /* __WINE_D3DRMDEF_H__ */