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




index 0b056ce..d77bac3 100644 (file)
@@ -1,67 +1,72 @@
-#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
-funcCreateGrp CreateGrp = 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
-               CreateGrp = (funcCreateGrp)GetProcAddress(hGrpApi,"CreateGrp");\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
-       CreateGrp = 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()
+{
+}