- int __cdecl Script_Screenshot()
- {
- ClientStamp *wData = ClientServices::GetClientStamp();
- ScrnScreenshot(CGlueMgr::HandleScreenshot, wData, sizeof(ClientStamp), 0, 0, 0);
- return 0;
- }
- void __cdecl ScrnScreenshot(int callback, ClientStamp *wdata, int wdataLen, char *folder, char *nameOverride, char *depthNameOverride)
- {
- s_captureScreen = callback;
- s_pWatermarkData = wdata;
- s_uWatermarkDataBytes = wdataLen;
- s_screenshotFolder = folder;
- s_screenshotNameOverride = nameOverride;
- s_depthNameOverride = depthNameOverride;
- }
- ClientStamp *__cdecl ClientServices::GetClientStamp()
- {
- char *accountName = NULL;
- if ( ClientServices::s_accountName )
- accountName = &ClientServices::s_accountName;
- DWORD wowTime;
- WowTime::WowEncodeTime(&wowTime, LODWORD(g_clientGameTime_ptr));
- memset(&ClientServices::m_ClientStamp, 0, sizeof(ClientStamp));
- if ( ClientServices::m_selectRealmInfoValid )
- {
- if ( accountName )
- {
- strcpy(ClientServices::m_ClientStamp.accountName, accountName);
- ClientServices::m_ClientStamp.time = wowTime;
- SocketAddr addr = g_socketAddress;
- SockAddr::Normalize(&addr);
- ClientServices::m_ClientStamp.socketAddr = addr;
- ClientServices::m_ClientStamp.socketAddr.addr[4] = 0xF3FFF00u;
- }
- }
- return &ClientServices::m_ClientStamp;
- }
- int __cdecl CGlueMgr::HandleScreenshot(int a1)
- {
- int result; // eax@2
- if ( a1 )
- result = FrameScript_SignalEvent(14, 0);
- else
- result = FrameScript_SignalEvent(15, 0);
- return result;
- }