diff options
Diffstat (limited to 'router/router.cpp')
-rw-r--r-- | router/router.cpp | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/router/router.cpp b/router/router.cpp index a0ce165c..3c891053 100644 --- a/router/router.cpp +++ b/router/router.cpp @@ -189,18 +189,6 @@ static void AddModule(HMODULE module, const WCHAR *name) LOAD_PROC(alGenBuffers); LOAD_PROC(alDeleteBuffers); LOAD_PROC(alIsBuffer); - LOAD_PROC(alBufferf); - LOAD_PROC(alBuffer3f); - LOAD_PROC(alBufferfv); - LOAD_PROC(alBufferi); - LOAD_PROC(alBuffer3i); - LOAD_PROC(alBufferiv); - LOAD_PROC(alGetBufferf); - LOAD_PROC(alGetBuffer3f); - LOAD_PROC(alGetBufferfv); - LOAD_PROC(alGetBufferi); - LOAD_PROC(alGetBuffer3i); - LOAD_PROC(alGetBufferiv); LOAD_PROC(alBufferData); LOAD_PROC(alDopplerFactor); LOAD_PROC(alDopplerVelocity); @@ -220,6 +208,28 @@ static void AddModule(HMODULE module, const WCHAR *name) } #undef LOAD_PROC +#define LOAD_PROC(x) do { \ + newdrv.x = reinterpret_cast<decltype(newdrv.x)>(reinterpret_cast<void*>( \ + GetProcAddress(module, #x))); \ + if(!newdrv.x) \ + { \ + WARN("Failed to find optional entry point for %s in %ls\n", #x, name); \ + } \ +} while(0) + LOAD_PROC(alBufferf); + LOAD_PROC(alBuffer3f); + LOAD_PROC(alBufferfv); + LOAD_PROC(alBufferi); + LOAD_PROC(alBuffer3i); + LOAD_PROC(alBufferiv); + LOAD_PROC(alGetBufferf); + LOAD_PROC(alGetBuffer3f); + LOAD_PROC(alGetBufferfv); + LOAD_PROC(alGetBufferi); + LOAD_PROC(alGetBuffer3i); + LOAD_PROC(alGetBufferiv); + +#undef LOAD_PROC #define LOAD_PROC(x) do { \ newdrv.x = reinterpret_cast<decltype(newdrv.x)>( \ newdrv.alcGetProcAddress(nullptr, #x)); \ |