aboutsummaryrefslogtreecommitdiff
path: root/src/environment.h
AgeCommit message (Collapse)Author
2015-09-08Change m_client_event_queue's type to std::queueLoic Blot
As indicated in its name, m_client_event_queue should be a queue. Change std::list to std::queue to improve the queue's performance.
2015-08-23Clean up threadingShadowNinja
* Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
2015-08-16SEnv: Remove static_exists from ActiveObjects in deleted blockskwolekr
2015-07-23Optional reconnect functionalityest31
Enable the server to request the client to reconnect. This can be done with the now extended minetest.request_shutdown([reason], [reconnect]) setting.
2015-07-16Kick players when shutting down server and there is a crash due to a Lua ↵nerzhul
stack exception
2015-06-20Generic CAO cleanups and renames for clarificationest31
* Use enum for GENERIC_CMD_* * Rename m_attachements to attachement_parent_ids (public member and clearer name) * Rename GENERIC_CMD_SET_ATTACHMENT to GENERIC_CMD_ATTACH_TO * USHRT_MAX + 1 buffer sizes to prevent overflows as @kahrl suggested * Remove unneccessary m_id from GenericCAO (shadowing protected superclass member for no reason) as @kahrl suggested
2015-06-20Make attached objects visible in 3rd person viewest31
2015-04-22Re-apply 972d17baea81ffe6d508b291ef97207a4822e1da...nerzhul
but not rename the container. Approved-By est31
2015-04-21Revert "m_active_object_messages is used like a queue. Use std::queue ↵kwolekr
instead of std::list. Also rename to m_active_object_messages_queue" This reverts commit 972d17baea81ffe6d508b291ef97207a4822e1da. The commit being reverted was unauthorized. There had been no discussion, review, or sign-off prior to submittal to upstream.
2015-04-21m_active_object_messages is used like a queue. Use std::queue instead of ↵Loic Blot
std::list. Also rename to m_active_object_messages_queue
2015-04-16Use std::vector instead of std::set for Environment::getObjectsInsideRadiusLoic Blot
We are only iterating sequentially, we don't need a set here Also use a vector reference instead of a copy
2015-03-05Performance improvement: Use std::list instead of std::vector for ↵Loic Blot
request_media, Server::getModNames, Environment::m_simple_objects. * Also remove unused Server::m_modspaths
2015-03-04ABMHandler and player_collisions use sequential read/write. Switch from ↵Loic Blot
std::list to std::vector * Also remove dead code Map::unloadUnusedData which is dead since a long time
2015-03-04ASyncRunStep doesn't need to lock when do setTimeOfDaySpeed.Loic Blot
* setTimeOfDaySpeed already lock a mutex when modify the value, we don't need to lock all environment. * add a fine grain lock for getTimeOfDay and setTimeOfDay to solve environment multithread modifications on this value
2015-02-17Change many useless std::list into Environment class (m_players), ABMHandler ↵Loic Blot
and ActiveBlockList::update This improve looping performances.
2015-01-18Fix all warnings and remove -Wno-unused-but-set cflagkwolekr
2014-12-07Performance of main client loop up to 2x faster In places, up to 3 times fasterCraig Robbins
NOTE 1: This does not mean a 2x increase in framerate. Increase in fps may be up to 1-2fps NOTE 2: This local 'caching' of settings is not optimal and an alternative solution will be worked on after 0.4.11 is released
2014-11-08Replace setting unlimited_player_transfer_distance with player_transfer_distanceSmallJoker
2014-06-23Only keep players loaded while they're connectedShadowNinja
2014-06-23Fix race condition on accessing m_time_of_day_speed causing day night race ↵sapier
on some architectures
2014-06-23Speedup attachement handling by replacing vector search by direct array ↵sapier
access and secondary child lookup vector
2014-04-18Remove liquid_finite and weatherproller
2014-04-15Fix all warnings reported by clangSfan5
2014-03-09Update ABM object counts when triggers add objectsCiaran Gultnieks
Also fixes long-standing accuracy issue due to unknown wider object count not being incremented.
2014-03-04Fix rendering glitches when far from the center of the mapNovatux
2014-02-09ServerEnvironment: Remove direct dependency on EmergeManagerkwolekr
2014-02-01Add player:override_day_night_ratio() for arbitrarily controlling sunlight ↵Perttu Ahola
brightness
2014-01-11Add forceloadingNovatux
2013-12-12Make line_of_sight return blocking node positionstujones11
2013-11-30Add minetest.swap_nodeNovatux
2013-09-16Weather: Clean up getHeat/getHumidity somewhatkwolekr
2013-08-14Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl
2013-08-03Fix anticheatPerttu Ahola
2013-07-27Weather supportproller
2013-07-20Add set_breath and get_breath to lua API.RealBadAngel
2013-06-19Add drowningPilzAdam
2013-05-25Move scriptapi to separate folder (by sapier)sapier
On the lua side, notably minetest.env:<function>(<args>) should now be replaced by minetest.<function>(<args>). The old way is and will stay supported for a long time. Also: Update and clean up lua_api.txt (by celeron55) Move EnvRef to lua and remove add_rat and add_firefly (by kahrl) Add separate src/util/CMakeLists.txt, other minor fixes (by kahrl)
2013-04-06Add Dijkstra A* and A* without prefetching pathfind algorithmssapier
2013-04-05Fix nick completionPilzAdam
2013-03-11Migrate to STL containers/algorithms.Ilya Zhuravlev
2013-02-25Add emerge.cpp, initial EmergeThread changeskwolekr
- Neatly placed all emerge related code into a new file, emerge.cpp - Greatly cleaned up the code in EmergeThread::Thread() - Reworked Emerge queue. Now an actual std::queue of v3s16 block positions - Removed the completely unnecessary map of peer ids requesting blocks
2013-02-24Update Copyright YearsSfan5
2013-02-24Change Minetest-c55 to MinetestPilzAdam
2013-01-21The new mapgen, noise functions, et al.kwolekr
2013-01-02Add ServerEnvironment::setNode()/removeNode() to allow setting nodes from ↵Perttu Ahola
the C++ side with proper script-defined initialization/destruction
2012-11-26Default server step to 0.1s and sync object/player update intervals to itPerttu Ahola
2012-11-25A bunch of fixesMirceaKitsune
No longer hide players who are dead. With models, a death animation should be used instead Some changes requested by celeron55 Rename a lot of things in the code, and use better lua api function names Minor code corrections Bump protocol version up, since the models / animations / attachments code creates new client<->server messages
2012-09-09Add dtime_s to entity activationPerttu Ahola
2012-07-27ABM and liquid overload skipPerttu Ahola
2012-07-27Experimental-ish rollback functionalityPerttu Ahola