Open Source Tomb Raider Engine
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

time.cpp 962B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*!
  2. * \file include/utils/time.h
  3. * \brief Time handling utilities
  4. *
  5. * \author xythobuz
  6. */
  7. #include "global.h"
  8. #include "utils/time.h"
  9. #if defined(unix) || defined(__APPLE__) || defined (__linux__)
  10. #include <sys/time.h>
  11. struct timeval system_timer_start;
  12. struct timeval system_timer_stop;
  13. struct timezone system_timer_zone;
  14. unsigned long systemTimerGet() {
  15. gettimeofday(&system_timer_stop, &system_timer_zone);
  16. return ((system_timer_stop.tv_sec - system_timer_start.tv_sec) * 1000)
  17. + (((system_timer_stop.tv_usec - system_timer_start.tv_usec) / 1000));
  18. }
  19. void systemTimerReset() {
  20. gettimeofday(&system_timer_start, &system_timer_zone);
  21. }
  22. #elif defined(WIN32)
  23. #include <Windows.h>
  24. DWORD system_timer_start = 0;
  25. unsigned long systemTimerGet() {
  26. return GetTickCount() - system_timer_start;
  27. }
  28. void systemTimerReset() {
  29. system_timer_start = GetTickCount();
  30. }
  31. #else
  32. #error "No support for timer on this platform!"
  33. #endif