#include "map.h"
// For TimeTaker
-#include "main.h"
#include "utility.h"
+#include "gettime.h"
/*
Debug stuff
if(m_area.contains(area))
return;
- TimeTaker timer("addArea", g_device, &addarea_time);
+ TimeTaker timer("addArea", &addarea_time);
// Calculate new area
VoxelArea new_area;
void VoxelManipulator::clearFlag(u8 flags)
{
// 0-1ms on moderate area
- TimeTaker timer("clearFlag", g_device, &clearflag_time);
+ TimeTaker timer("clearFlag", &clearflag_time);
v3s16 s = m_area.getExtent();
core::map<v3s16, u8> &active_nodes,
bool checked3_is_clear)
{
- TimeTaker timer("updateAreaWaterPressure", g_device,
- &updateareawaterpressure_time);
+ TimeTaker timer("updateAreaWaterPressure", &updateareawaterpressure_time);
emerge(a, 3);
try
{
// 0-1ms @ recur_count <= 100
- //TimeTaker timer("getWaterPressure", g_device);
+ //TimeTaker timer("getWaterPressure", g_irrlicht);
pr = getWaterPressure(p, highest_y, recur_count);
}
catch(ProcessingLimitException &e)
try
{
// 0ms
- //TimeTaker timer("spreadWaterPressure", g_device);
+ //TimeTaker timer("spreadWaterPressure", g_irrlicht);
spreadWaterPressure(p, pr, a, active_nodes, 0);
}
catch(ProcessingLimitException &e)
//dstream<<"s1="<<s1<<", s2="<<s2<<std::endl;
{
- TimeTaker timer1("flowWater pre", g_device, &flowwater_pre_time);
+ TimeTaker timer1("flowWater pre", &flowwater_pre_time);
// Load neighboring nodes
emerge(VoxelArea(removed_pos - v3s16(1,1,1), removed_pos + v3s16(1,1,1)), 4);
debugprint, stoptime);
}
- if(stoptime != 0 && g_device != NULL)
+ if(stoptime != 0)
{
- u32 timenow = g_device->getTimer()->getRealTime();
- if(timenow >= stoptime ||
- (stoptime < 0x80000000 && timenow > 0x80000000))
+ u32 timenow = getTimeMs();
+ // Well, it is a bit hard to guess because we don't know the
+ // start time...
+ bool overflow = timenow < stoptime - 100000;
+ if(timenow >= stoptime || overflow)
{
dstream<<"flowWater: stoptime reached"<<std::endl;
throw ProcessingLimitException("flowWater stoptime reached");
return;
}
- //TimeTaker timer1("flowWater (active_nodes)", g_device);
+ //TimeTaker timer1("flowWater (active_nodes)", g_irrlicht);
//dstream<<"active_nodes.size() = "<<active_nodes.size()<<std::endl;
u32 stoptime = 0;
- if(g_device != NULL)
- {
- stoptime = g_device->getTimer()->getRealTime() + timelimit;
- }
+ stoptime = getTimeMs() + timelimit;
// Count of handled active nodes
u32 handled_count = 0;
*/
s32 k = 0;
if(active_nodes.size() != 0)
- k = (s32)rand() % (s32)active_nodes.size();
+ k = (s32)myrand() % (s32)active_nodes.size();
// Flow water to active nodes
for(;;)