diff options
author | Juha Vehviläinen <jusu@users.sourceforge.net> | 2002-07-06 17:50:18 +0000 |
---|---|---|
committer | Juha Vehviläinen <jusu@users.sourceforge.net> | 2002-07-06 17:50:18 +0000 |
commit | 4d64e4cd434426234a5c313c151cd79b6afc299e (patch) | |
tree | 5c23dd6acc65b869741d3bb9d33912d74bb7407d /Patches/dllcall.h |
*** empty log message ***svn2git-root
svn path=/trunk/Framestein/; revision=27
Diffstat (limited to 'Patches/dllcall.h')
-rw-r--r-- | Patches/dllcall.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Patches/dllcall.h b/Patches/dllcall.h new file mode 100644 index 0000000..ab7b128 --- /dev/null +++ b/Patches/dllcall.h @@ -0,0 +1,46 @@ +#ifndef __DLLCALL_H +#define __DLLCALL_H + +#include "windows.h" + +void loadeffect(HMODULE *lib, FARPROC *proc, char *name) +{ + if(*lib) FreeLibrary(*lib); + + *lib = LoadLibrary(name); + if(!*lib) + { + post("loadeffect: failed to load %s", name); + return; + } + *proc = GetProcAddress(*lib, "perform_effect"); + if(!*proc) + { + post("loadeffect: failed to get perform_effect from %s", name); + FreeLibrary(*lib); + *lib=NULL; + return; + } +} + +void loadcopy(HMODULE *lib, FARPROC *proc, char *name) +{ + if(*lib) FreeLibrary(*lib); + + *lib = LoadLibrary(name); + if(!*lib) + { + post("loadcopy: failed to load %s", name); + return; + } + *proc = GetProcAddress(*lib, "perform_copy"); + if(!*proc) + { + post("loadcopy: failed to get perform_copy from %s", name); + FreeLibrary(*lib); + *lib=NULL; + return; + } +} + +#endif |