#include "ToolsCPA.h" #include "Options/Options.h" #include "Macros.h" #include "Structur\EngMode.h" #include "SnapShot.h" #if defined(USE_PROFILER) && !defined(PRESS_DEMO) extern void GAM_fn_vShowRasters(); #endif /* PRESS_DEMO */ #define C_NumberOfBytesPerPoint 3L #define C_NumberOfBytesPerPointForGLI 3L unsigned long g_ulNumberOfSnapShot = 0; /*************************************************************************/ /* 14/04/98 Carlos Torres don't overwrite old snapshot*/ void fn_vGetAndSaveSnapShotOfScreenAsBMP(void) { char szFileName[_MAX_PATH]; unsigned char *p_ucBitmap; DWORD dwWidth; DWORD dwHeight; dwWidth = g_stEngineStructure.stViewportAttr.dwWidth; /* 640*/ dwHeight = g_stEngineStructure.stViewportAttr.dwHeight; /* 480*/ MMG_fn_vAddMemoryInfo( MMG_C_lTypeGAM , MMG_C_lSubTypeSnapShot , 0 ); p_ucBitmap = TMP_M_p_Malloc( C_NumberOfBytesPerPointForGLI * dwHeight * dwWidth); #if defined(USE_PROFILER) && !defined(PRESS_DEMO) GAM_fn_vShowRasters(); #endif GLD_vGetFrontBufferIn24BitsAA(g_stEngineStructure.hGLDDevice, g_stEngineStructure.hGLDViewport, dwWidth, dwHeight, p_ucBitmap); do { sprintf(szFileName,"SnapShot\\Snap%04d.bmp",g_ulNumberOfSnapShot++); } while (FIL_fn_bIsFileExist(szFileName)); FIL_fn_vSaveBMPInFile(szFileName,p_ucBitmap, dwWidth, dwHeight, C_NumberOfBytesPerPoint, C_NumberOfBytesPerPointForGLI); MMG_fn_vAddMemoryInfo( MMG_C_lTypeGAM , MMG_C_lSubTypeSnapShot , 0 ); TMP_M_Free(p_ucBitmap); } /*************************************************************************/