Time: Change old `u32` timestamps to 64-bit (#5818)
authorSmallJoker <SmallJoker@users.noreply.github.com>
Fri, 26 May 2017 12:03:36 +0000 (14:03 +0200)
committerGitHub <noreply@github.com>
Fri, 26 May 2017 12:03:36 +0000 (14:03 +0200)
MacOSX build fix + cleanups

18 files changed:
src/clientiface.cpp
src/clientiface.h
src/guiFormSpecMenu.cpp
src/guiFormSpecMenu.h
src/hud.cpp
src/intlGUIEditBox.h
src/map.cpp
src/map.h
src/network/connection.h
src/profiler.cpp
src/profiler.h
src/touchscreengui.cpp
src/unittest/test.cpp
src/unittest/test.h
src/util/timetaker.cpp
src/util/timetaker.h
src/voxel.cpp
src/voxel.h

index 356281ca67ba7eae4c72d2c77d424c10826fa7e3..68bd4afe7986b07ab4bcb455684044064b626420 100644 (file)
@@ -590,9 +590,9 @@ void RemoteClient::notifyEvent(ClientStateEvent event)
        }
 }
 
-u32 RemoteClient::uptime() const
+u64 RemoteClient::uptime() const
 {
-       return porting::getTime(PRECISION_SECONDS) - m_connection_time;
+       return porting::getTimeS() - m_connection_time;
 }
 
 ClientInterface::ClientInterface(con::Connection* con)
index a219ed5fc364ddff0ab6e9ea05759fb11aabbda9..d2299c8796910d3c020ae34d6d388c8e40aa7797 100644 (file)
@@ -266,7 +266,7 @@ public:
                m_version_patch(0),
                m_full_version("unknown"),
                m_deployed_compression(0),
-               m_connection_time(porting::getTime(PRECISION_SECONDS))
+               m_connection_time(porting::getTimeS())
        {
        }
        ~RemoteClient()
@@ -345,7 +345,7 @@ public:
                { serialization_version = m_pending_serialization_version; }
 
        /* get uptime */
-       u32 uptime() const;
+       u64 uptime() const;
 
        /* set version information */
        void setVersionInfo(u8 major, u8 minor, u8 patch, const std::string &full)
@@ -432,7 +432,7 @@ private:
        /*
                time this client was created
         */
-       const u32 m_connection_time;
+       const u64 m_connection_time;
 };
 
 class ClientInterface {
index 64642cf1fdd327b3944b0743cbfce3a3d9c4bf78..971d505fdf5d8138d38b7a332a661308eba28b00 100644 (file)
@@ -2658,7 +2658,7 @@ void GUIFormSpecMenu::drawMenu()
        if (hovered != NULL) {
                s32 id = hovered->getID();
 
-               u32 delta = 0;
+               u64 delta = 0;
                if (id == -1) {
                        m_old_tooltip_id = id;
                        m_old_tooltip = L"";
@@ -3247,7 +3247,7 @@ bool GUIFormSpecMenu::DoubleClickDetection(const SEvent event)
                m_doubleclickdetect[1].time = porting::getTimeMs();
        }
        else if (event.MouseInput.Event == EMIE_LMOUSE_LEFT_UP) {
-               u32 delta = porting::getDeltaMs(m_doubleclickdetect[0].time, porting::getTimeMs());
+               u64 delta = porting::getDeltaMs(m_doubleclickdetect[0].time, porting::getTimeMs());
                if (delta > 400) {
                        return false;
                }
index 18ccf1c3ad2b1f19562ca53a1defce5cd31cb4a6..557a1cc9fe3198ce01784e0da7eb90735218dca0 100644 (file)
@@ -420,8 +420,8 @@ protected:
        v2s32 m_old_pointer;  // Mouse position after previous mouse event
        gui::IGUIStaticText *m_tooltip_element;
 
-       u32 m_tooltip_show_delay;
-       s64 m_hovered_time;
+       u64 m_tooltip_show_delay;
+       u64 m_hovered_time;
        s32 m_old_tooltip_id;
        std::wstring m_old_tooltip;
 
index 3e4162b6432bf47a94e4f6225bec7254d60fc320..72145b4da78ba8690996990a778900c477601fa2 100644 (file)
@@ -626,7 +626,7 @@ void Hud::resizeHotbar() {
 }
 
 struct MeshTimeInfo {
-       s64 time;
+       u64 time;
        scene::IMesh *mesh;
 };
 
index e3ee15a30853e70f1650a26ec402aab0e9ade53c..bb617476c9937ce80d59ff815827c1f7c8d553fa 100644 (file)
@@ -155,7 +155,7 @@ namespace gui
                gui::IGUIFont *OverrideFont, *LastBreakFont;
                IOSOperator* Operator;
 
-               u32 BlinkStartTime;
+               u64 BlinkStartTime;
                s32 CursorPos;
                s32 HScrollPos, VScrollPos; // scroll position in characters
                u32 Max;
index 63e1e4ccd2d68bc3543ac2e46430c852888e9bcb..641b7d2ddcb14d4566233922846c625b6b463ecf 100644 (file)
@@ -981,7 +981,7 @@ void Map::transformLiquids(std::map<v3s16, MapBlock*> &modified_blocks,
 
        time_until_purge *= 1000;       // seconds -> milliseconds
 
-       u32 curr_time = porting::getTime(PRECISION_MILLI);
+       u64 curr_time = porting::getTimeMs();
        u32 prev_unprocessed = m_unprocessed_count;
        m_unprocessed_count = m_transforming_liquid.size();
 
index 7e597bef6cb3d690eaf03ecb7186e6fd7e872aca..41a1a246bfb7d771f85dfee06aec8f5f4bd1e02a 100644 (file)
--- a/src/map.h
+++ b/src/map.h
@@ -343,7 +343,7 @@ protected:
 private:
        f32 m_transforming_liquid_loop_count_multiplier;
        u32 m_unprocessed_count;
-       u32 m_inc_trending_up_start_time; // milliseconds
+       u64 m_inc_trending_up_start_time; // milliseconds
        bool m_queue_size_timer_started;
 
        DISABLE_CLASS_COPY(Map);
index 3a8388522b83852c5a1e98ed13272a74de34fb64..8b7ed9773a9c016c663ada03c01a3260245d533f 100644 (file)
@@ -769,7 +769,7 @@ class Peer {
                // Seconds from last receive
                float m_timeout_counter;
 
-               u32 m_last_timeout_check;
+               u64 m_last_timeout_check;
 };
 
 class UDPPeer : public Peer
index 197e094f65a5a0d7bb024d2539c021db6ae820dd..8e997442c9391392dfa08730deac3ffca6176f50 100644 (file)
@@ -21,3 +21,33 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 static Profiler main_profiler;
 Profiler *g_profiler = &main_profiler;
+ScopeProfiler::ScopeProfiler(
+               Profiler *profiler, const std::string &name, ScopeProfilerType type)
+    : m_profiler(profiler), m_name(name), m_timer(NULL), m_type(type)
+{
+       if (m_profiler)
+               m_timer = new TimeTaker(m_name);
+}
+
+ScopeProfiler::~ScopeProfiler()
+{
+       if (!m_timer)
+               return;
+
+       float duration_ms = m_timer->stop(true);
+       float duration = duration_ms / 1000.0;
+       if (m_profiler) {
+               switch (m_type) {
+               case SPT_ADD:
+                       m_profiler->add(m_name, duration);
+                       break;
+               case SPT_AVG:
+                       m_profiler->avg(m_name, duration);
+                       break;
+               case SPT_GRAPH_ADD:
+                       m_profiler->graphAdd(m_name, duration);
+                       break;
+               }
+       }
+       delete m_timer;
+}
index 6da11597262b384d54483a31918e744db7264117..ce60c6262d15f296adf1d410b37b1672c3fbe1a3 100644 (file)
@@ -193,48 +193,8 @@ class ScopeProfiler
 {
 public:
        ScopeProfiler(Profiler *profiler, const std::string &name,
-                       enum ScopeProfilerType type = SPT_ADD):
-               m_profiler(profiler),
-               m_name(name),
-               m_timer(NULL),
-               m_type(type)
-       {
-               if(m_profiler)
-                       m_timer = new TimeTaker(m_name.c_str());
-       }
-       // name is copied
-       ScopeProfiler(Profiler *profiler, const char *name,
-                       enum ScopeProfilerType type = SPT_ADD):
-               m_profiler(profiler),
-               m_name(name),
-               m_timer(NULL),
-               m_type(type)
-       {
-               if(m_profiler)
-                       m_timer = new TimeTaker(m_name.c_str());
-       }
-       ~ScopeProfiler()
-       {
-               if(m_timer)
-               {
-                       float duration_ms = m_timer->stop(true);
-                       float duration = duration_ms / 1000.0;
-                       if(m_profiler){
-                               switch(m_type){
-                               case SPT_ADD:
-                                       m_profiler->add(m_name, duration);
-                                       break;
-                               case SPT_AVG:
-                                       m_profiler->avg(m_name, duration);
-                                       break;
-                               case SPT_GRAPH_ADD:
-                                       m_profiler->graphAdd(m_name, duration);
-                                       break;
-                               }
-                       }
-                       delete m_timer;
-               }
-       }
+                       ScopeProfilerType type = SPT_ADD);
+       ~ScopeProfiler();
 private:
        Profiler *m_profiler;
        std::string m_name;
index f32679ca406a73a3db7d4578f9439ab4433ea061..0139b8c4f8aa91914790448077529881deaddaeb 100644 (file)
@@ -922,7 +922,7 @@ bool TouchScreenGUI::doubleTapDetection()
        m_key_events[1].x         = m_move_downlocation.X;
        m_key_events[1].y         = m_move_downlocation.Y;
 
-       u32 delta = porting::getDeltaMs(m_key_events[0].down_time, porting::getTimeMs());
+       u64 delta = porting::getDeltaMs(m_key_events[0].down_time, porting::getTimeMs());
        if (delta > 400)
                return false;
 
@@ -1006,7 +1006,7 @@ void TouchScreenGUI::step(float dtime)
                        (!m_move_has_really_moved) &&
                        (!m_move_sent_as_mouse_event)) {
 
-               u32 delta = porting::getDeltaMs(m_move_downtime, porting::getTimeMs());
+               u64 delta = porting::getDeltaMs(m_move_downtime, porting::getTimeMs());
 
                if (delta > MIN_DIG_TIME_MS) {
                        m_shootline = m_device
index 9d223b82d94df06ce2538e195cd2cc88a799c958..570807ba7626bb8be941d808383dd4a27e23b09a 100644 (file)
@@ -229,7 +229,7 @@ bool run_tests()
 {
        DSTACK(FUNCTION_NAME);
 
-       u32 t1 = porting::getTime(PRECISION_MILLI);
+       u64 t1 = porting::getTimeMs();
        TestGameDef gamedef;
 
        g_logger.setLevelSilenced(LL_ERROR, true);
@@ -246,7 +246,7 @@ bool run_tests()
                num_total_tests_run += testmods[i]->num_tests_run;
        }
 
-       u32 tdiff = porting::getTime(PRECISION_MILLI) - t1;
+       u64 tdiff = porting::getTimeMs() - t1;
 
        g_logger.setLevelSilenced(LL_ERROR, false);
 
@@ -273,12 +273,12 @@ bool run_tests()
 bool TestBase::testModule(IGameDef *gamedef)
 {
        rawstream << "======== Testing module " << getName() << std::endl;
-       u32 t1 = porting::getTime(PRECISION_MILLI);
+       u64 t1 = porting::getTimeMs();
 
 
        runTests(gamedef);
 
-       u32 tdiff = porting::getTime(PRECISION_MILLI) - t1;
+       u64 tdiff = porting::getTimeMs() - t1;
        rawstream << "======== Module " << getName() << " "
                << (num_tests_failed ? "failed" : "passed") << " (" << num_tests_failed
                << " failures / " << num_tests_run << " tests) - " << tdiff
index e60e657cc969cf43c1cb47c1ab3fbf5982bf347e..bf76e8bb248e849d86677642408bbee0488d2e34 100644 (file)
@@ -33,7 +33,7 @@ class TestFailedException : public std::exception {
 
 // Runs a unit test and reports results
 #define TEST(fxn, ...) do {                                                   \
-       u32 t1 = porting::getTime(PRECISION_MILLI);                               \
+       u64 t1 = porting::getTimeMs();                                            \
        try {                                                                     \
                fxn(__VA_ARGS__);                                                     \
                rawstream << "[PASS] ";                                               \
@@ -46,7 +46,7 @@ class TestFailedException : public std::exception {
                num_tests_failed++;                                                   \
        }                                                                         \
        num_tests_run++;                                                          \
-       u32 tdiff = porting::getTime(PRECISION_MILLI) - t1;                       \
+       u64 tdiff = porting::getTimeMs() - t1;                                    \
        rawstream << #fxn << " - " << tdiff << "ms" << std::endl;                 \
 } while (0)
 
index 0e92696ace8f733edd983ca6175dae972f1a3a48..ac686c3a36828f096a02af3f0ae541e6745a7e2f 100644 (file)
@@ -23,7 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "../log.h"
 #include <ostream>
 
-TimeTaker::TimeTaker(const char *name, u32 *result, TimePrecision prec)
+TimeTaker::TimeTaker(const std::string &name, u64 *result, TimePrecision prec)
 {
        m_name = name;
        m_result = result;
@@ -32,18 +32,13 @@ TimeTaker::TimeTaker(const char *name, u32 *result, TimePrecision prec)
        m_time1 = porting::getTime(prec);
 }
 
-u32 TimeTaker::stop(bool quiet)
+u64 TimeTaker::stop(bool quiet)
 {
-       if(m_running)
-       {
-               u32 time2 = porting::getTime(m_precision);
-               u32 dtime = time2 - m_time1;
-               if(m_result != NULL)
-               {
+       if (m_running) {
+               u64 dtime = porting::getTime(m_precision) - m_time1;
+               if (m_result != NULL) {
                        (*m_result) += dtime;
-               }
-               else
-               {
+               } else {
                        if (!quiet) {
                                static const char* const units[] = {
                                        "s"  /* PRECISION_SECONDS */,
@@ -62,10 +57,8 @@ u32 TimeTaker::stop(bool quiet)
        return 0;
 }
 
-u32 TimeTaker::getTimerTime()
+u64 TimeTaker::getTimerTime()
 {
-       u32 time2 = porting::getTime(m_precision);
-       u32 dtime = time2 - m_time1;
-       return dtime;
+       return porting::getTime(m_precision) - m_time1;
 }
 
index 5512c205fe611ab72263966bc1e3f5efb2c52fcf..c10f4f535d32f3c9e20e06e53632ad7b414a34c9 100644 (file)
@@ -30,24 +30,24 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 class TimeTaker
 {
 public:
-       TimeTaker(const char *name, u32 *result=NULL,
-               TimePrecision=PRECISION_MILLI);
+       TimeTaker(const std::string &name, u64 *result=NULL,
+               TimePrecision prec=PRECISION_MILLI);
 
        ~TimeTaker()
        {
                stop();
        }
 
-       u32 stop(bool quiet=false);
+       u64 stop(bool quiet=false);
 
-       u32 getTimerTime();
+       u64 getTimerTime();
 
 private:
-       const char *m_name;
-       u32 m_time1;
+       std::string m_name;
+       u64 m_time1;
        bool m_running;
        TimePrecision m_precision;
-       u32 *m_result;
+       u64 *m_result;
 };
 
 #endif
index 87773b240f8edeb1bf9444e9b621c2794dd73131..78efde5bbf3de512ec1da0f9cf1bede13c53718a 100644 (file)
@@ -27,14 +27,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 /*
        Debug stuff
 */
-u32 addarea_time = 0;
-u32 emerge_time = 0;
-u32 emerge_load_time = 0;
-u32 clearflag_time = 0;
-//u32 getwaterpressure_time = 0;
-//u32 spreadwaterpressure_time = 0;
-u32 updateareawaterpressure_time = 0;
-u32 flowwater_pre_time = 0;
+u64 addarea_time = 0;
+u64 emerge_time = 0;
+u64 emerge_load_time = 0;
+u64 clearflag_time = 0;
 
 
 VoxelManipulator::VoxelManipulator():
index 58ad39be4a890d7f1fe6fe4ab1db6519dd4a024f..3a64ccc79fe1bb6fa37a226ef8aa48372b8a24ba 100644 (file)
@@ -49,8 +49,8 @@ class INodeDefManager;
 /*
        Debug stuff
 */
-extern u32 emerge_time;
-extern u32 emerge_load_time;
+extern u64 emerge_time;
+extern u64 emerge_load_time;
 
 /*
        This class resembles aabbox3d<s16> a lot, but has inclusive