From 0ca9423b8b2cf7bd1435fb09eba7a9f50d444864 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 19 Dec 2010 16:51:45 +0200 Subject: day/night working client side --- src/utility.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'src/utility.h') diff --git a/src/utility.h b/src/utility.h index f7e726f87..e4494948c 100644 --- a/src/utility.h +++ b/src/utility.h @@ -28,9 +28,18 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include #include +#include #include #include +#ifdef _WIN32 + #include + #define sleep_ms(x) Sleep(x) +#else + #include + #define sleep_ms(x) usleep(x*1000) +#endif + #include "common_irrlicht.h" #include "debug.h" #include "strfnd.h" @@ -1100,5 +1109,43 @@ private: JMutex m_mutex; }; +class SimpleThread : public JThread +{ + bool run; + JMutex run_mutex; + +public: + + SimpleThread(): + JThread(), + run(true) + { + run_mutex.Init(); + } + + virtual ~SimpleThread() + {} + + virtual void * Thread() = 0; + + bool getRun() + { + JMutexAutoLock lock(run_mutex); + return run; + } + void setRun(bool a_run) + { + JMutexAutoLock lock(run_mutex); + run = a_run; + } + + void stop() + { + setRun(false); + while(IsRunning()) + sleep_ms(100); + } +}; + #endif -- cgit v1.2.3