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: |
--- a/grpapi/grpapi_no-lib.cpp
+++ b/grpapi/grpapi_no-lib.cpp
-#include "grpapi_no-lib.h"\r
-\r
-struct GRPAPIMODULE {\r
- GRPAPIMODULE();\r
- ~GRPAPIMODULE();\r
-} GrpApi;\r
-\r
-HINSTANCE hGrpApi = 0;\r
-\r
-funcLoadPalette LoadPalette = 0;\r
-funcLoadGrp LoadGrp = 0;\r
-funcDestroyGrp DestroyGrp = 0;\r
-funcDrawGrp DrawGrp = 0;\r
-funcGetGrpInfo GetGrpInfo = 0;\r
-funcSetFunctionGetPixel SetFunctionGetPixel = 0;\r
-funcSetFunctionSetPixel SetFunctionSetPixel = 0;\r
-funcSetMpqDll SetMpqDll = 0;\r
-funcLoadGrpApi LoadGrpApi = 0;\r
-funcFreeGrpApi FreeGrpApi = 0;\r
-\r
-GRPAPIMODULE::GRPAPIMODULE()\r
-{\r
- if (hGrpApi!=0) return;\r
- hGrpApi = LoadLibrary("grpapi.dll");\r
-\r
- if (hGrpApi!=0) {\r
- LoadPalette = (funcLoadPalette)GetProcAddress(hGrpApi,"LoadPalette");\r
- LoadGrp = (funcLoadGrp)GetProcAddress(hGrpApi,"LoadGrp");\r
- DestroyGrp = (funcDestroyGrp)GetProcAddress(hGrpApi,"DestroyGrp");\r
- DrawGrp = (funcDrawGrp)GetProcAddress(hGrpApi,"DrawGrp");\r
- GetGrpInfo = (funcGetGrpInfo)GetProcAddress(hGrpApi,"GetGrpInfo");\r
- SetFunctionGetPixel = (funcSetFunctionGetPixel)GetProcAddress(hGrpApi,"SetFunctionGetPixel");\r
- SetFunctionSetPixel = (funcSetFunctionSetPixel)GetProcAddress(hGrpApi,"SetFunctionSetPixel");\r
- SetMpqDll = (funcSetMpqDll)GetProcAddress(hGrpApi,"SetMpqDll");\r
- LoadGrpApi = (funcLoadGrpApi)GetProcAddress(hGrpApi,"LoadGrpApi");\r
- FreeGrpApi = (funcFreeGrpApi)GetProcAddress(hGrpApi,"FreeGrpApi");\r
- }\r
-}\r
-\r
-GRPAPIMODULE::~GRPAPIMODULE()\r
-{\r
- LoadPalette = 0;\r
- LoadGrp = 0;\r
- DestroyGrp = 0;\r
- DrawGrp = 0;\r
- GetGrpInfo = 0;\r
- SetFunctionGetPixel = 0;\r
- SetFunctionSetPixel = 0;\r
- SetMpqDll = 0;\r
- LoadGrpApi = 0;\r
- FreeGrpApi = 0;\r
-\r
- if (hGrpApi==0) return;\r
- FreeLibrary(hGrpApi);\r
- hGrpApi = 0;\r
-}\r
-\r
-void LoadGrpApiLib()\r
-{\r
-}\r
-\r
-void FreeGrpApiLib()\r
-{\r
-}\r
+/* License information for this code is in license.txt */
+
+#include "grpapi_no-lib.h"
+
+struct GRPAPIMODULE {
+ GRPAPIMODULE();
+ ~GRPAPIMODULE();
+} GrpApi;
+
+HINSTANCE hGrpApi = 0;
+
+BOOL (WINAPI* LoadPalette)(LPCSTR lpFileName, DWORD *dwPaletteBuffer) = 0;
+HANDLE (WINAPI* LoadGrp)(LPCSTR lpFileName) = 0;
+BOOL (WINAPI* DestroyGrp)(HANDLE hGrp) = 0;
+BOOL (WINAPI* DrawGrp)(HANDLE hGrp, HDC hdcDest, int nXDest, int nYDest, WORD nFrame, DWORD *dwPalette, DWORD dwFlags, DWORD dwAlpha) = 0;
+BOOL (WINAPI* GetGrpInfo)(HANDLE hGrp, GRPHEADER *GrpInfo) = 0;
+BOOL (WINAPI* GetGrpFrameInfo)(HANDLE hGrp, WORD nFrame, DWORD *nLeft, DWORD *nTop, DWORD *nWidth, DWORD *nHeight) = 0;
+HANDLE (WINAPI* CreateGrp)(signed short *lpImageData, WORD nFrames, WORD wMaxWidth, WORD wMaxHeight, BOOL bNoCompress, DWORD *nGrpSize) = 0;
+void (WINAPI* SetFunctionGetPixel)(GETPIXELPROC lpGetPixelProc) = 0;
+void (WINAPI* SetFunctionSetPixel)(SETPIXELPROC lpSetPixelProc) = 0;
+BOOL (WINAPI* SetMpqDll)(LPCSTR lpDllFileName) = 0;
+BOOL (WINAPI* LoadGrpApi)() = 0;
+void (WINAPI* FreeGrpApi)() = 0;
+
+GRPAPIMODULE::GRPAPIMODULE()
+{
+ if (hGrpApi!=0) return;
+ hGrpApi = LoadLibrary("grpapi.dll");
+
+ if (hGrpApi!=0) {
+ *(FARPROC *)&LoadPalette = GetProcAddress(hGrpApi,"LoadPalette");
+ *(FARPROC *)&LoadGrp = GetProcAddress(hGrpApi,"LoadGrp");
+ *(FARPROC *)&DestroyGrp = GetProcAddress(hGrpApi,"DestroyGrp");
+ *(FARPROC *)&DrawGrp = GetProcAddress(hGrpApi,"DrawGrp");
+ *(FARPROC *)&GetGrpInfo = GetProcAddress(hGrpApi,"GetGrpInfo");
+ *(FARPROC *)&GetGrpFrameInfo = GetProcAddress(hGrpApi,"GetGrpFrameInfo");
+ *(FARPROC *)&CreateGrp = GetProcAddress(hGrpApi,"CreateGrp");
+ *(FARPROC *)&SetFunctionGetPixel = GetProcAddress(hGrpApi,"SetFunctionGetPixel");
+ *(FARPROC *)&SetFunctionSetPixel = GetProcAddress(hGrpApi,"SetFunctionSetPixel");
+ *(FARPROC *)&SetMpqDll = GetProcAddress(hGrpApi,"SetMpqDll");
+ *(FARPROC *)&LoadGrpApi = GetProcAddress(hGrpApi,"LoadGrpApi");
+ *(FARPROC *)&FreeGrpApi = GetProcAddress(hGrpApi,"FreeGrpApi");
+ }
+}
+
+GRPAPIMODULE::~GRPAPIMODULE()
+{
+ LoadPalette = 0;
+ LoadGrp = 0;
+ DestroyGrp = 0;
+ DrawGrp = 0;
+ GetGrpInfo = 0;
+ GetGrpFrameInfo = 0;
+ CreateGrp = 0;
+ SetFunctionGetPixel = 0;
+ SetFunctionSetPixel = 0;
+ SetMpqDll = 0;
+ LoadGrpApi = 0;
+ FreeGrpApi = 0;
+
+ if (hGrpApi==0) return;
+ FreeLibrary(hGrpApi);
+ hGrpApi = 0;
+}
+
+void LoadGrpApiLib()
+{
+}
+
+void FreeGrpApiLib()
+{
+}
|