00001 /// \file GASPilotDLL.h 00002 /// \brief Project header for GASPilotDLL 00003 /// \ingroup GASPilotDLL 00004 /// 00005 /// Copyright (c) 2007-2008 by Michael Ellison. 00006 /// See COPYING.txt for the \ref gaslicense License (MIT License). 00007 /// 00008 // $Author: mikeellison $ 00009 // $Date: 2008-01-31 09:36:59 -0600 (Thu, 31 Jan 2008) $ 00010 // $Revision: $ 00011 // $NoKeywords: $ 00012 #ifndef _GASPilotDLL_H_ 00013 #define _GASPilotDLL_H_ 00014 00015 #include "CAT.h" 00016 00017 #include "CATTimeWarp.h" 00018 #include "CATInjectionPropagate.h" 00019 #include "CATOverlayDirect3D9.h" 00020 #include "CATOverlayOpenGL.h" 00021 00022 00023 class GASPilotDLL 00024 { 00025 public: 00026 00027 enum 00028 { 00029 CATHook_None = 0x0, 00030 CATHook_DX9 = 0x1, 00031 CATHook_OGL = 0x2, 00032 CATHook_Time = 0x4, 00033 CATHook_Exec = 0x8, 00034 00035 // 00036 CATHook_All = 0xff 00037 }; 00038 00039 GASPilotDLL(); 00040 ~GASPilotDLL(); 00041 void Run(); 00042 00043 static LRESULT CALLBACK EventMsgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); 00044 void OnFaster(); 00045 void OnSlower(); 00046 void OnFast(); 00047 void OnSlow(); 00048 void CheckKeys(); 00049 00050 00051 protected: 00052 CATUInt32 CheckHooks(); 00053 void UpdateSpeed(); 00054 00055 CATInjectionPropagate* fExecCap; 00056 CATTimeWarp * fTimeWarp; 00057 CATOverlayDirect3D9* fOverlayDX9; 00058 CATOverlayOpenGL* fOverlayGL; 00059 CATString fDLLPath; 00060 CATString fBasePath; 00061 CATString fFastImgPath; 00062 CATString fSlowImgPath; 00063 CATImage* fFastImg; 00064 CATImage* fSlowImg; 00065 CATImage* fSpeedImg; 00066 CATFloat32 fSpeed; 00067 HWND fMsgWnd; 00068 CATString fHostApp; 00069 }; 00070 00071 00072 #endif // _GASPilotDLL_H_