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




CommitLineData
f15b049d 1/* License information for this code is in license.txt */
2
09d0556c 3#include "grpapi_no-lib.h"
4
5struct GRPAPIMODULE {
6 GRPAPIMODULE();
7 ~GRPAPIMODULE();
8} GrpApi;
9
10HINSTANCE hGrpApi = 0;
11
f15b049d 12BOOL (WINAPI* LoadPalette)(LPCSTR lpFileName, DWORD *dwPaletteBuffer) = 0;
13HANDLE (WINAPI* LoadGrp)(LPCSTR lpFileName) = 0;
14BOOL (WINAPI* DestroyGrp)(HANDLE hGrp) = 0;
15BOOL (WINAPI* DrawGrp)(HANDLE hGrp, HDC hdcDest, int nXDest, int nYDest, WORD nFrame, DWORD *dwPalette, DWORD dwFlags, DWORD dwAlpha) = 0;
16BOOL (WINAPI* GetGrpInfo)(HANDLE hGrp, GRPHEADER *GrpInfo) = 0;
17BOOL (WINAPI* GetGrpFrameInfo)(HANDLE hGrp, WORD nFrame, DWORD *nLeft, DWORD *nTop, DWORD *nWidth, DWORD *nHeight) = 0;
18HANDLE (WINAPI* CreateGrp)(signed short *lpImageData, WORD nFrames, WORD wMaxWidth, WORD wMaxHeight, BOOL bNoCompress, DWORD *nGrpSize) = 0;
19void (WINAPI* SetFunctionGetPixel)(GETPIXELPROC lpGetPixelProc) = 0;
20void (WINAPI* SetFunctionSetPixel)(SETPIXELPROC lpSetPixelProc) = 0;
21BOOL (WINAPI* SetMpqDll)(LPCSTR lpDllFileName) = 0;
22BOOL (WINAPI* LoadGrpApi)() = 0;
23void (WINAPI* FreeGrpApi)() = 0;
09d0556c 24
25GRPAPIMODULE::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
46GRPAPIMODULE::~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
66void LoadGrpApiLib()
67{
68}
69
70void FreeGrpApiLib()
71{
72}