Current News Archived News Search News Discussion Forum Old Forum Install Programs More Downloads... Troubleshooting Source Code Format Specs. Misc. Information Non-SF Stuff Links Small banner for links to this site: |
1 /* License information for this code is in license.txt */
3 #include "grpapi_no-lib.h"
5 struct GRPAPIMODULE {
6 GRPAPIMODULE();
7 ~GRPAPIMODULE();
8 } GrpApi;
10 HINSTANCE hGrpApi = 0;
12 BOOL (WINAPI* LoadPalette)(LPCSTR lpFileName, DWORD *dwPaletteBuffer) = 0;
13 HANDLE (WINAPI* LoadGrp)(LPCSTR lpFileName) = 0;
14 BOOL (WINAPI* DestroyGrp)(HANDLE hGrp) = 0;
15 BOOL (WINAPI* DrawGrp)(HANDLE hGrp, HDC hdcDest, int nXDest, int nYDest, WORD nFrame, DWORD *dwPalette, DWORD dwFlags, DWORD dwAlpha) = 0;
16 BOOL (WINAPI* GetGrpInfo)(HANDLE hGrp, GRPHEADER *GrpInfo) = 0;
17 BOOL (WINAPI* GetGrpFrameInfo)(HANDLE hGrp, WORD nFrame, DWORD *nLeft, DWORD *nTop, DWORD *nWidth, DWORD *nHeight) = 0;
18 HANDLE (WINAPI* CreateGrp)(signed short *lpImageData, WORD nFrames, WORD wMaxWidth, WORD wMaxHeight, BOOL bNoCompress, DWORD *nGrpSize) = 0;
19 void (WINAPI* SetFunctionGetPixel)(GETPIXELPROC lpGetPixelProc) = 0;
20 void (WINAPI* SetFunctionSetPixel)(SETPIXELPROC lpSetPixelProc) = 0;
21 BOOL (WINAPI* SetMpqDll)(LPCSTR lpDllFileName) = 0;
22 BOOL (WINAPI* LoadGrpApi)() = 0;
23 void (WINAPI* FreeGrpApi)() = 0;
25 GRPAPIMODULE::GRPAPIMODULE()
26 {
27 if (hGrpApi!=0) return;
28 hGrpApi = LoadLibrary("grpapi.dll");
30 if (hGrpApi!=0) {
31 *(FARPROC *)&LoadPalette = GetProcAddress(hGrpApi,"LoadPalette");
32 *(FARPROC *)&LoadGrp = GetProcAddress(hGrpApi,"LoadGrp");
33 *(FARPROC *)&DestroyGrp = GetProcAddress(hGrpApi,"DestroyGrp");
34 *(FARPROC *)&DrawGrp = GetProcAddress(hGrpApi,"DrawGrp");
35 *(FARPROC *)&GetGrpInfo = GetProcAddress(hGrpApi,"GetGrpInfo");
36 *(FARPROC *)&GetGrpFrameInfo = GetProcAddress(hGrpApi,"GetGrpFrameInfo");
37 *(FARPROC *)&CreateGrp = GetProcAddress(hGrpApi,"CreateGrp");
38 *(FARPROC *)&SetFunctionGetPixel = GetProcAddress(hGrpApi,"SetFunctionGetPixel");
39 *(FARPROC *)&SetFunctionSetPixel = GetProcAddress(hGrpApi,"SetFunctionSetPixel");
40 *(FARPROC *)&SetMpqDll = GetProcAddress(hGrpApi,"SetMpqDll");
41 *(FARPROC *)&LoadGrpApi = GetProcAddress(hGrpApi,"LoadGrpApi");
42 *(FARPROC *)&FreeGrpApi = GetProcAddress(hGrpApi,"FreeGrpApi");
43 }
44 }
46 GRPAPIMODULE::~GRPAPIMODULE()
47 {
48 LoadPalette = 0;
49 LoadGrp = 0;
50 DestroyGrp = 0;
51 DrawGrp = 0;
52 GetGrpInfo = 0;
53 GetGrpFrameInfo = 0;
54 CreateGrp = 0;
55 SetFunctionGetPixel = 0;
56 SetFunctionSetPixel = 0;
57 SetMpqDll = 0;
58 LoadGrpApi = 0;
59 FreeGrpApi = 0;
61 if (hGrpApi==0) return;
62 FreeLibrary(hGrpApi);
63 hGrpApi = 0;
64 }
66 void LoadGrpApiLib()
67 {
68 }
70 void FreeGrpApiLib()
71 {
72 }
|