mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	timeHandler: FreeBSD fixes, based on plush's patch ( #719 ).
Aesthetic „fixes”.
This commit is contained in:
		| @@ -1,7 +1,15 @@ | ||||
| #ifndef __TIMEHANDLER_H__ | ||||
| #define __TIMEHANDLER_H__ | ||||
|  | ||||
| #include <ctime> | ||||
| #ifdef __FreeBSD__ | ||||
| 	#include <sys/types.h> | ||||
| 	#include <sys/time.h> | ||||
| 	#include <sys/resource.h> | ||||
| 	#define TO_MS_DIVISOR (1000) | ||||
| #else | ||||
| 	#include <ctime> | ||||
| 	#define TO_MS_DIVISOR (CLOCKS_PER_SEC/1000) | ||||
| #endif | ||||
|  | ||||
| /* | ||||
|  * timeHandler.h, part of VCMI engine | ||||
| @@ -15,13 +23,43 @@ | ||||
|  | ||||
| class timeHandler | ||||
| { | ||||
| public: | ||||
| 	clock_t start, last, mem; | ||||
| 	timeHandler():start(clock()){last=clock();mem=0;}; | ||||
| 	long getDif(){long ret=clock()-last;last=clock();return ret/(CLOCKS_PER_SEC/1000);};//get diff in milliseconds | ||||
| 	void update(){last=clock();}; | ||||
| 	void remember(){mem=clock();}; | ||||
| 	long memDif(){return clock()-mem;}; | ||||
| public: | ||||
| 	timeHandler() | ||||
| 		: start(clock()) | ||||
| 	{ | ||||
| 		last=clock(); | ||||
| 		mem=0; | ||||
| 	} | ||||
|  | ||||
| 	long getDif() //get diff in milliseconds | ||||
| 	{ | ||||
| 		long ret=clock()-last; | ||||
| 		last=clock(); | ||||
| 		return ret/TO_MS_DIVISOR; | ||||
| 	} | ||||
| 	void update() | ||||
| 	{ | ||||
| 		last=clock(); | ||||
| 	} | ||||
| 	void remember() | ||||
| 	{ | ||||
| 		mem=clock(); | ||||
| 	} | ||||
| 	long memDif() | ||||
| 	{ | ||||
| 		return clock()-mem; | ||||
| 	} | ||||
| 	long clock()  | ||||
| 	{ | ||||
| 	#ifdef __FreeBSD__ | ||||
| 		struct rusage usage; | ||||
| 		getrusage(RUSAGE_SELF, &usage); | ||||
| 		return static_cast<long>(usage.ru_utime.tv_sec + usage.ru_stime.tv_sec) * 1000000 + usage.ru_utime.tv_usec + usage.ru_stime.tv_usec; | ||||
| 	#else | ||||
| 		return std::clock(); | ||||
| 	#endif | ||||
| 	} | ||||
| }; | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user