Fix mapgen using unitialised height map values
[oweals/minetest.git] / src / profiler.h
index e22a865c070bafce51a9e580cd2a7faa479d38a7..5816f05ca66652960034708e4bc60c58fcdcb0ef 100644 (file)
@@ -22,13 +22,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "irrlichttypes.h"
 #include <string>
-#include <jmutex.h>
-#include <jmutexautolock.h>
 #include <map>
+
+#include "jthread/jmutex.h"
+#include "jthread/jmutexautolock.h"
 #include "util/timetaker.h"
 #include "util/numeric.h" // paging()
 #include "debug.h" // assert()
 
+#define MAX_PROFILER_TEXT_ROWS 20
+
 /*
        Time profiler
 */
@@ -38,7 +41,6 @@ class Profiler
 public:
        Profiler()
        {
-               m_mutex.Init();
        }
 
        void add(const std::string &name, float value)
@@ -74,7 +76,7 @@ public:
                        else{
                                /* No add shall have been used */
                                assert(n->second != -2);
-                               n->second = (std::max)(n->second, 0) + 1;
+                               n->second = MYMAX(n->second, 0) + 1;
                        }
                }
                {
@@ -165,6 +167,13 @@ public:
                m_graphvalues.clear();
        }
 
+       void remove(const std::string& name)
+       {
+               JMutexAutoLock lock(m_mutex);
+               m_avgcounts.erase(name);
+               m_data.erase(name);
+       }
+
 private:
        JMutex m_mutex;
        std::map<std::string, float> m_data;