X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fclientenvironment.cpp;h=d6af06ddebff0c63bcb51aaadc73bc1ff5f322b6;hb=842acbfad2b70550c562f6429d02c980912d2273;hp=47df49b845dee3b13a134e6d604b857609633e40;hpb=77597c4ff3b666cc37dd257952938df48d7e6f09;p=minetest.git diff --git a/src/clientenvironment.cpp b/src/clientenvironment.cpp index 47df49b84..d6af06dde 100644 --- a/src/clientenvironment.cpp +++ b/src/clientenvironment.cpp @@ -55,8 +55,8 @@ ClientEnvironment::ClientEnvironment(ClientMap *map, scene::ISceneManager *smgr, ClientEnvironment::~ClientEnvironment() { // delete active objects - for (UNORDERED_MAP::iterator i = m_active_objects.begin(); - i != m_active_objects.end(); ++i) { + for (ClientActiveObjectMap::iterator i = m_active_objects.begin(); + i != m_active_objects.end(); ++i) { delete i->second; } @@ -237,11 +237,10 @@ void ClientEnvironment::step(float dtime) pre_factor = 1.0 + (float)addp/100.0; } float speed = pre_factor * speed_diff.getLength(); - if(speed > tolerance) - { - f32 damage_f = (speed - tolerance)/BS * post_factor; - u16 damage = (u16)(damage_f+0.5); - if(damage != 0){ + if (speed > tolerance) { + f32 damage_f = (speed - tolerance) / BS * post_factor; + u8 damage = (u8)MYMIN(damage_f + 0.5, 255); + if (damage != 0) { damageLocalPlayer(damage, true); MtEvent *e = new SimpleTriggerEvent("PlayerFallingDamage"); m_client->event()->put(e); @@ -347,8 +346,8 @@ void ClientEnvironment::step(float dtime) g_profiler->avg("CEnv: num of objects", m_active_objects.size()); bool update_lighting = m_active_object_light_update_interval.step(dtime, 0.21); - for (UNORDERED_MAP::iterator i = m_active_objects.begin(); - i != m_active_objects.end(); ++i) { + for (ClientActiveObjectMap::iterator i = m_active_objects.begin(); + i != m_active_objects.end(); ++i) { ClientActiveObject* obj = i->second; // Step object obj->step(dtime, this); @@ -407,14 +406,14 @@ GenericCAO* ClientEnvironment::getGenericCAO(u16 id) ClientActiveObject* ClientEnvironment::getActiveObject(u16 id) { - UNORDERED_MAP::iterator n = m_active_objects.find(id); + ClientActiveObjectMap::iterator n = m_active_objects.find(id); if (n == m_active_objects.end()) return NULL; return n->second; } bool isFreeClientActiveObjectId(const u16 id, - UNORDERED_MAP &objects) + ClientActiveObjectMap &objects) { if(id == 0) return false; @@ -422,7 +421,7 @@ bool isFreeClientActiveObjectId(const u16 id, return objects.find(id) == objects.end(); } -u16 getFreeClientActiveObjectId(UNORDERED_MAP &objects) +u16 getFreeClientActiveObjectId(ClientActiveObjectMap &objects) { //try to reuse id's as late as possible static u16 last_used_id = 0; @@ -584,8 +583,8 @@ void ClientEnvironment::updateLocalPlayerBreath(u16 breath) void ClientEnvironment::getActiveObjects(v3f origin, f32 max_d, std::vector &dest) { - for (UNORDERED_MAP::iterator i = m_active_objects.begin(); - i != m_active_objects.end(); ++i) { + for (ClientActiveObjectMap::iterator i = m_active_objects.begin(); + i != m_active_objects.end(); ++i) { ClientActiveObject* obj = i->second; f32 d = (obj->getPosition() - origin).getLength();