=?UTF-8?Q?Rico=20Sch=C3=BCller=20?=: d3dx9: Move D3DXPARAMETER_TYPE conversion helpers to util.
Alexandre Julliard
julliard at winehq.org
Thu Sep 6 13:37:22 CDT 2012
Module: wine
Branch: master
Commit: 65c651e37661f8498011f57b6b36ff9606610b34
URL: http://source.winehq.org/git/wine.git/?a=commit;h=65c651e37661f8498011f57b6b36ff9606610b34
Author: Rico Schüller <kgbricola at web.de>
Date: Wed Sep 5 22:51:22 2012 +0200
d3dx9: Move D3DXPARAMETER_TYPE conversion helpers to util.
---
dlls/d3dx9_36/d3dx9_36_private.h | 6 +++
dlls/d3dx9_36/effect.c | 84 -------------------------------------
dlls/d3dx9_36/util.c | 85 ++++++++++++++++++++++++++++++++++++++
3 files changed, 91 insertions(+), 84 deletions(-)
diff --git a/dlls/d3dx9_36/d3dx9_36_private.h b/dlls/d3dx9_36/d3dx9_36_private.h
index f6f797e..c4cc69c 100644
--- a/dlls/d3dx9_36/d3dx9_36_private.h
+++ b/dlls/d3dx9_36/d3dx9_36_private.h
@@ -93,4 +93,10 @@ const char *debug_d3dxparameter_class(D3DXPARAMETER_CLASS c) DECLSPEC_HIDDEN;
const char *debug_d3dxparameter_type(D3DXPARAMETER_TYPE t) DECLSPEC_HIDDEN;
const char *debug_d3dxparameter_registerset(D3DXREGISTER_SET r) DECLSPEC_HIDDEN;
+/* parameter type conversion helpers */
+INT get_int(D3DXPARAMETER_TYPE type, LPCVOID data) DECLSPEC_HIDDEN;
+FLOAT get_float(D3DXPARAMETER_TYPE type, LPCVOID data) DECLSPEC_HIDDEN;
+BOOL get_bool(LPCVOID data) DECLSPEC_HIDDEN;
+void set_number(LPVOID outdata, D3DXPARAMETER_TYPE outtype, LPCVOID indata, D3DXPARAMETER_TYPE intype) DECLSPEC_HIDDEN;
+
#endif /* __WINE_D3DX9_36_PRIVATE_H */
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 162cbf8..f3a5549 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -847,90 +847,6 @@ static void free_effect_compiler(struct ID3DXEffectCompilerImpl *compiler)
}
}
-static INT get_int(D3DXPARAMETER_TYPE type, LPCVOID data)
-{
- INT i;
-
- switch (type)
- {
- case D3DXPT_FLOAT:
- i = *(FLOAT *)data;
- break;
-
- case D3DXPT_INT:
- i = *(INT *)data;
- break;
-
- case D3DXPT_BOOL:
- i = *(BOOL *)data;
- break;
-
- default:
- i = 0;
- FIXME("Unhandled type %s. This should not happen!\n", debug_d3dxparameter_type(type));
- break;
- }
-
- return i;
-}
-
-inline static FLOAT get_float(D3DXPARAMETER_TYPE type, LPCVOID data)
-{
- FLOAT f;
-
- switch (type)
- {
- case D3DXPT_FLOAT:
- f = *(FLOAT *)data;
- break;
-
- case D3DXPT_INT:
- f = *(INT *)data;
- break;
-
- case D3DXPT_BOOL:
- f = *(BOOL *)data;
- break;
-
- default:
- f = 0.0f;
- FIXME("Unhandled type %s. This should not happen!\n", debug_d3dxparameter_type(type));
- break;
- }
-
- return f;
-}
-
-static inline BOOL get_bool(LPCVOID data)
-{
- return (*(DWORD *)data) != 0;
-}
-
-static void set_number(LPVOID outdata, D3DXPARAMETER_TYPE outtype, LPCVOID indata, D3DXPARAMETER_TYPE intype)
-{
- TRACE("Changing from type %s to type %s\n", debug_d3dxparameter_type(intype), debug_d3dxparameter_type(outtype));
-
- switch (outtype)
- {
- case D3DXPT_FLOAT:
- *(FLOAT *)outdata = get_float(intype, indata);
- break;
-
- case D3DXPT_BOOL:
- *(BOOL *)outdata = get_bool(indata);
- break;
-
- case D3DXPT_INT:
- *(INT *)outdata = get_int(intype, indata);
- break;
-
- default:
- FIXME("Unhandled type %s. This should not happen!\n", debug_d3dxparameter_type(outtype));
- *(INT *)outdata = 0;
- break;
- }
-}
-
static void get_vector(struct d3dx_parameter *param, D3DXVECTOR4 *vector)
{
UINT i;
diff --git a/dlls/d3dx9_36/util.c b/dlls/d3dx9_36/util.c
index 7615846..6daddd7 100644
--- a/dlls/d3dx9_36/util.c
+++ b/dlls/d3dx9_36/util.c
@@ -269,3 +269,88 @@ const char *debug_d3dxparameter_registerset(D3DXREGISTER_SET r)
}
#undef WINE_D3DX_TO_STR
+
+/* parameter type conversion helpers */
+INT get_int(D3DXPARAMETER_TYPE type, LPCVOID data)
+{
+ INT i;
+
+ switch (type)
+ {
+ case D3DXPT_FLOAT:
+ i = *(FLOAT *)data;
+ break;
+
+ case D3DXPT_INT:
+ i = *(INT *)data;
+ break;
+
+ case D3DXPT_BOOL:
+ i = *(BOOL *)data;
+ break;
+
+ default:
+ i = 0;
+ FIXME("Unhandled type %s. This should not happen!\n", debug_d3dxparameter_type(type));
+ break;
+ }
+
+ return i;
+}
+
+FLOAT get_float(D3DXPARAMETER_TYPE type, LPCVOID data)
+{
+ FLOAT f;
+
+ switch (type)
+ {
+ case D3DXPT_FLOAT:
+ f = *(FLOAT *)data;
+ break;
+
+ case D3DXPT_INT:
+ f = *(INT *)data;
+ break;
+
+ case D3DXPT_BOOL:
+ f = *(BOOL *)data;
+ break;
+
+ default:
+ f = 0.0f;
+ FIXME("Unhandled type %s. This should not happen!\n", debug_d3dxparameter_type(type));
+ break;
+ }
+
+ return f;
+}
+
+BOOL get_bool(LPCVOID data)
+{
+ return (*(DWORD *)data) != 0;
+}
+
+void set_number(LPVOID outdata, D3DXPARAMETER_TYPE outtype, LPCVOID indata, D3DXPARAMETER_TYPE intype)
+{
+ TRACE("Changing from type %s to type %s\n", debug_d3dxparameter_type(intype), debug_d3dxparameter_type(outtype));
+
+ switch (outtype)
+ {
+ case D3DXPT_FLOAT:
+ *(FLOAT *)outdata = get_float(intype, indata);
+ break;
+
+ case D3DXPT_BOOL:
+ *(BOOL *)outdata = get_bool(indata);
+ break;
+
+ case D3DXPT_INT:
+ *(INT *)outdata = get_int(intype, indata);
+ break;
+
+ default:
+ FIXME("Unhandled type %s. This should not happen!\n", debug_d3dxparameter_type(outtype));
+ *(INT *)outdata = 0;
+ break;
+ }
+}
More information about the wine-cvs
mailing list