X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Futility.cpp;h=87c81cb2abdba5cd2526b281ab20f39efb2f2952;hb=581f950e10b40f2af4ede56c3fa78f13eccb610b;hp=3aa397e9e48ea8f90db765c94699540cc5da6584;hpb=0fa0e0752a28eeb43195f2288c018d5c0b24520b;p=dragonfireclient.git diff --git a/src/utility.cpp b/src/utility.cpp index 3aa397e9e..87c81cb2a 100644 --- a/src/utility.cpp +++ b/src/utility.cpp @@ -22,8 +22,10 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "utility.h" -#include "irrlichtwrapper.h" #include "gettime.h" +#include "sha1.h" +#include "base64.h" +#include "log.h" TimeTaker::TimeTaker(const char *name, u32 *result) { @@ -46,7 +48,7 @@ u32 TimeTaker::stop(bool quiet) else { if(quiet == false) - std::cout< near; - - for(core::list::Iterator - i = m_points.begin(); - i != m_points.end(); i++) + if(max-min > MYRAND_MAX) { - PointWithAttr &pwa = *i; - u32 d = pwa.p.getDistanceFrom(p); - - DFloat df; - df.v = pwa.attr.getFloat(); - df.d = d; - - // If near list is empty, add directly and continue - if(near.size() == 0) - { - near.push_back(df); - continue; - } - - // Get distance of farthest in near list - u32 near_d = 100000; - if(near.size() > 0) - { - core::list::Iterator i = near.begin(); - near_d = i->d; - } - - /* - If point is closer than the farthest in the near list or - there are not yet enough points on the list - */ - if(d < near_d || near.size() < near_wanted_count) - { - // Find the right place in the near list and put it there - - // Go from farthest to near in the near list - core::list::Iterator i = near.begin(); - for(; i != near.end(); i++) - { - // Stop when i is at the first nearer node - if(i->d < d) - break; - } - // Add df to before i - if(i == near.end()) - near.push_back(df); - else - near.insert_before(i, df); - - // Keep near list at right size - if(near.size() > near_wanted_count) - { - core::list::Iterator j = near.begin(); - near.erase(j); - } - } + errorstream<<"WARNING: myrand_range: max-min > MYRAND_MAX"< joka pisteelle a += arvo / etäisyys^6; b += 1 / etäisyys^6; ja -lopuks sit otetaan a/b - */ - - float a = 0; - float b = 0; - for(core::list::Iterator i = near.begin(); - i != near.end(); i++) + if(min > max) { - if(i->d == 0) - return i->v; - - //float dd = pow((float)i->d, 6); - float dd = pow((float)i->d, 5); - float v = i->v; - //dstream<<"dd="<d="<d<<" nearest_d_sum="<