Commit | Line | Data |
f15b049d |
1 | /* License information for this code is in license.txt */ |
2 | |
09d0556c |
3 | #include "grpapi_no-lib.h" |
4 | |
5 | struct GRPAPIMODULE { |
6 | GRPAPIMODULE(); |
7 | ~GRPAPIMODULE(); |
8 | } GrpApi; |
9 | |
10 | HINSTANCE hGrpApi = 0; |
11 | |
f15b049d |
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; |
09d0556c |
24 | |
25 | GRPAPIMODULE::GRPAPIMODULE() |
26 | { |
27 | if (hGrpApi!=0) return; |
28 | hGrpApi = LoadLibrary("grpapi.dll"); |
29 | |
30 | if (hGrpApi!=0) { |
f15b049d |
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"); |
09d0556c |
43 | } |
44 | } |
45 | |
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; |
60 | |
61 | if (hGrpApi==0) return; |
62 | FreeLibrary(hGrpApi); |
63 | hGrpApi = 0; |
64 | } |
65 | |
66 | void LoadGrpApiLib() |
67 | { |
68 | } |
69 | |
70 | void FreeGrpApiLib() |
71 | { |
72 | } |