#define _CRT_SECURE_NO_WARNINGS #include "windows.h" #include "dxwnd.h" #include "dxwcore.hpp" typedef struct { BOOL bShowed; char *sHintText; } HintEntry_Type; HintEntry_Type HintTable[]={ {FALSE, "Automatic configuration hints enabled. Uncheck SHOWHINTS to turn off"}, {FALSE, "DirectDraw dependency detected. Check DirectX flags"}, {FALSE, "Direct3D8 dependency detected. Check DirectX8 flags"}, {FALSE, "Direct3D9 dependency detected. Check DirectX9 flags"}, {FALSE, "Direct3D10 dependency detected. Check DirectX10 flags"}, {FALSE, "Direct3D11 dependency detected. Check DirectX11 flags"}, {FALSE, "OpenGL dependency detected. Check OpenGL hook and flags"}, {FALSE, "DirectSound dependency detected. Check DirectSound hook in case of sound problems"}, {FALSE, "DirectInput dependency detected. Check DirectInput hook in case of input problems"}, {FALSE, "DirectInput8 dependency detected. Check DirectInput8 hook in case of input problems"}, {FALSE, "Movie libraries detected. Check multimedia section"}, {FALSE, "D3D libraries detected. Check DirectX version hook (DirectX7 ?)"}, {FALSE, "IMAGEHLP dependency detected. In case of error, check NOIMAGEHLP flag"}, {FALSE, "Compatibility settings for a dfferent OS detected. You may need to clear them"}, {FALSE, "Executable obfuscation detected. Impossible to hook this file"}, {FALSE, "SafeDisk dependency detected. Check for compatibility with current OS"}, {FALSE, "SecuRom dependency detected. Check for compatibility with current OS"}, {FALSE, "Integer32 memory size overflow. May need limit resources flag"}, {FALSE, "Hooked address update. May need to check the \"No hook update\" (HOOKNOUPDATE) flag"}, {FALSE, ""} }; void ShowHint(int HintId) { //if(!dxw.bHintActive) return; // boundary checks if ((HintId < HINT_HINT) || (HintId >= HINT_LAST)) return; // show hints just once if(HintTable[HintId].bShowed) return; HintTable[HintId].bShowed = TRUE; // show hint char sMessage[1024]; strcpy(sMessage, HintTable[HintId].sHintText); strcat(sMessage, "\n\nShow next hints?"); if(MessageBox(NULL, sMessage, "DxWnd hint", MB_OKCANCEL|MB_ICONWARNING|MB_TOPMOST)==IDCANCEL) dxw.bHintActive = FALSE; }