diff options
author | Perttu Ahola <celeron55@gmail.com> | 2010-12-11 18:11:03 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2010-12-11 18:11:03 +0200 |
commit | 2a0d1a059e556afaeb7f5b72205b26447e23286f (patch) | |
tree | 2e30313c2c40b59239a062fdb69d66e9abf153c4 /src/utility.h | |
parent | 5e0c284f3a8debdd9ebb080f80e36dceb7bc4ce2 (diff) | |
download | hax-minetest-server-2a0d1a059e556afaeb7f5b72205b26447e23286f.tar.gz hax-minetest-server-2a0d1a059e556afaeb7f5b72205b26447e23286f.zip |
commit before some radicallish changes to water behavior
Diffstat (limited to 'src/utility.h')
-rw-r--r-- | src/utility.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/src/utility.h b/src/utility.h index 93fd9d4a7..c9b13546c 100644 --- a/src/utility.h +++ b/src/utility.h @@ -394,12 +394,18 @@ private: class TimeTaker { public: - TimeTaker(const char *name, IrrlichtDevice *dev) + TimeTaker(const char *name, IrrlichtDevice *dev, u32 *result=NULL) { m_name = name; m_dev = dev; - m_time1 = m_dev->getTimer()->getRealTime(); + m_result = result; m_running = true; + if(dev == NULL) + { + m_time1 = 0; + return; + } + m_time1 = m_dev->getTimer()->getRealTime(); } ~TimeTaker() { @@ -409,10 +415,24 @@ public: { if(m_running) { + if(m_dev == NULL) + { + /*if(quiet == false) + std::cout<<"Couldn't measure time for "<<m_name + <<": dev==NULL"<<std::endl;*/ + return 0; + } u32 time2 = m_dev->getTimer()->getRealTime(); u32 dtime = time2 - m_time1; - if(quiet == false) - std::cout<<m_name<<" took "<<dtime<<"ms"<<std::endl; + if(m_result != NULL) + { + (*m_result) += dtime; + } + else + { + if(quiet == false) + std::cout<<m_name<<" took "<<dtime<<"ms"<<std::endl; + } m_running = false; return dtime; } @@ -423,6 +443,7 @@ private: IrrlichtDevice *m_dev; u32 m_time1; bool m_running; + u32 *m_result; }; // Calculates the borders of a "d-radius" cube |