예제 #1
0
파일: graphics.cpp 프로젝트: CoolerMAN/tdtw
void CGraphics_SDL::TakeScreenshot(const char *pFilename)
{
	char aDate[20];
	str_timestamp(aDate, sizeof(aDate));
	str_format(m_aScreenshotName, sizeof(m_aScreenshotName), "screenshots/%s_%s.png", pFilename?pFilename:"screenshot", aDate);
	m_DoScreenshot = true;
}
예제 #2
0
파일: console.cpp 프로젝트: andi103/rDDRace
void CGameConsole::Dump(int Type)
{
	CInstance *pConsole = Type == CONSOLETYPE_REMOTE ? &m_RemoteConsole : &m_LocalConsole;
	char aFilename[128];
	char aDate[20];

	str_timestamp(aDate, sizeof(aDate));
	str_format(aFilename, sizeof(aFilename), "dumps/%s_dump_%s.txt", Type==CONSOLETYPE_REMOTE?"remote_console":"local_console", aDate);
	IOHANDLE io = Storage()->OpenFile(aFilename, IOFLAG_WRITE, IStorage::TYPE_SAVE);
	if(io)
	{
		#if defined(CONF_FAMILY_WINDOWS)
			static const char Newline[] = "\r\n";
		#else
			static const char Newline[] = "\n";
		#endif

		for(CInstance::CBacklogEntry *pEntry = pConsole->m_Backlog.First(); pEntry; pEntry = pConsole->m_Backlog.Next(pEntry))
		{
			io_write(io, pEntry->m_aText, str_length(pEntry->m_aText));
			io_write(io, Newline, sizeof(Newline)-1);
		}
		io_close(io);
	}
}
예제 #3
0
파일: engine.cpp 프로젝트: Fear-cool/DDRace
	static void Con_DbgDumpmem(IConsole::IResult *pResult, void *pUserData, int ClientID)
	{
		CEngine *pEngine = static_cast<CEngine *>(pUserData);
		char aBuf[32];
		str_timestamp(aBuf, sizeof(aBuf));
		char aFilename[128];
		str_format(aFilename, sizeof(aFilename), "dumps/memory_%s.txt", aBuf);
		mem_debug_dump(pEngine->m_pStorage->OpenFile(aFilename, IOFLAG_WRITE, IStorage::TYPE_SAVE));
	}
예제 #4
0
void CGraphics_SDL::TakeScreenshot(const char *pFilename)
{
	char aDate[20];
	str_timestamp(aDate, sizeof(aDate));
	if (str_comp(aDate, m_aScreenshotDate) == 0)
	    m_ScreenshotNum++;
	else
        m_ScreenshotNum = 0;
    str_copy(m_aScreenshotDate, aDate, sizeof(m_aScreenshotDate));
	str_format(m_aScreenshotName, sizeof(m_aScreenshotName), "screenshots/%s_%s_%i.png", pFilename?pFilename:"screenshot", aDate, m_ScreenshotNum);
	m_DoScreenshot = true;
}
예제 #5
0
파일: config.cpp 프로젝트: BotoX/teeworlds
	static void Con_SaveConfig(IConsole::IResult *pResult, void *pUserData)
	{
		char aFilename[128];
		if(pResult->NumArguments())
			str_format(aFilename, sizeof(aFilename), "configs/%s.cfg", pResult->GetString(0));
		else
		{
			char aDate[20];
			str_timestamp(aDate, sizeof(aDate));
			str_format(aFilename, sizeof(aFilename), "configs/config_%s.cfg", aDate);
		}
		((CConfig*)pUserData)->Save(aFilename);
	}
예제 #6
0
파일: engine.cpp 프로젝트: Fear-cool/DDRace
	static void Con_DbgLognetwork(IConsole::IResult *pResult, void *pUserData, int ClientID)
	{
		CEngine *pEngine = static_cast<CEngine *>(pUserData);

		if(pEngine->m_Logging)
		{
			CNetBase::CloseLog();
			pEngine->m_Logging = false;
		}
		else
		{
			char aBuf[32];
			str_timestamp(aBuf, sizeof(aBuf));
			char aFilenameSent[128], aFilenameRecv[128];
			str_format(aFilenameSent, sizeof(aFilenameSent), "dumps/network_sent_%s.txt", aBuf);
			str_format(aFilenameRecv, sizeof(aFilenameRecv), "dumps/network_recv_%s.txt", aBuf);
			CNetBase::OpenLog(pEngine->m_pStorage->OpenFile(aFilenameSent, IOFLAG_WRITE, IStorage::TYPE_SAVE),
								pEngine->m_pStorage->OpenFile(aFilenameRecv, IOFLAG_WRITE, IStorage::TYPE_SAVE));
			pEngine->m_Logging = true;
		}
	}