Linux makefiles
[canaan.git] / prj / cam / libsrc / script / scrptmod.cpp
blob663c86a9800721587b8c0aaadc9842619edd2c40
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 ///////////////////////////////////////////////////////////////////////////////
7 // $Header: r:/t2repos/thief2/libsrc/script/scrptmod.cpp,v 1.4 2000/02/22 19:49:47 toml Exp $
8 //
9 // This normally wouldn't want to be in its own file, but for the dependence on
10 // windows.h
13 #include <windows.h>
14 #include <scrptman.h>
15 #include <allocapi.h>
16 #include <filespec.h>
18 ///////////////////////////////////////////////////////////////////////////////
20 BOOL cScriptMan::LoadModule(const cFileSpec & fsModule, sScrModuleInfo * pInfo)
22 LGALLOC_AUTO_CREDIT();
24 if ((pInfo->hModule = (HANDLE)LoadLibrary(fsModule.GetName())) != 0)
26 tScriptModuleInitFunc pfnInit
27 = (tScriptModuleInitFunc)GetProcAddress((HINSTANCE)pInfo->hModule,
28 "_ScriptModuleInit@20");
29 if (pfnInit && (*pfnInit)(fsModule.GetFileName(), this, m_pfnPrint,
30 g_pMalloc, &pInfo->pModule))
31 return TRUE;
32 FreeLibrary((HINSTANCE)pInfo->hModule);
33 pInfo->hModule = NULL;
36 pInfo->pModule = NULL;
37 return FALSE;
40 ///////////////////////////////////////
42 void cScriptMan::FreeModule(sScrModuleInfo * pInfo)
44 SafeRelease(pInfo->pModule);
45 if (pInfo->hModule)
47 FreeLibrary((HINSTANCE)pInfo->hModule);
48 pInfo->hModule = NULL;
52 ///////////////////////////////////////////////////////////////////////////////